Vous êtes sur la page 1sur 168

Sistema operativo

Usuario

Estimacin del uso de versiones de sistemas operativos segn una


muestra de computadoras con acceso a Internet en enero de 2012.
Aplicacin

Sistema Operativo

Hardware
Estimacin del uso de sistemas operativos, segn una muestra de
computadoras con acceso a Internet en noviembre de 2009.[1]

Ntese que es un error comn muy extendido deno-


Interaccin entre el sistema operativo con el resto de las partes. minar al conjunto completo de herramientas sistema
operativo,[3] es decir, la inclusin en el mismo trmino de
programas como el explorador de cheros, el navegador
web y todo tipo de herramientas que permiten la in-
teraccin con el sistema operativo. Otro ejemplo para
comprender esta diferencia se encuentra en la plataforma
Amiga, donde el entorno grco de usuario se distribua
por separado, de modo que, tambin poda reemplazar-
se por otro, como era el caso de directory Opus o inclu-
so manejarlo arrancando con una lnea de comandos y
el sistema grco. De este modo, comenzaba a funcio-
nar con el propio sistema operativo que llevaba incluido
en una ROM, por lo que era cuestin del usuario decidir
si necesitaba un entorno grco para manejar el sistema
Estimacin del uso de sistemas operativos en computadoras de operativo o simplemente otra aplicacin. Uno de los ms
escritorio con acceso a Internet en enero de 2012. prominentes ejemplos de esta diferencia, es el ncleo Li-
nux, usado en las llamadas distribuciones Linux, ya que
Un sistema operativo (SO o, frecuentemente, OS al estar tambin basadas en Unix, proporcionan un siste-
del ingls operating system) es el software principal o ma de funcionamiento similar. Este error de precisin, se
conjunto de programas de un sistema informtico que debe a la modernizacin de la informtica llevada a cabo
gestiona los recursos de hardware y provee servicios a a nales de los 80, cuando la losofa de estructura b-
los programas de aplicacin de software, ejecutndose en sica de funcionamiento de los grandes computadores[4]
modo privilegiado respecto de los restantes (aunque pue- se redise a n de llevarla a los hogares y facilitar su
de que parte de l se ejecute en espacio de usuario).[2] uso, cambiando el concepto de computador multiusuario,

1
2 1 PERSPECTIVA HISTRICA

(muchos usuarios al mismo tiempo) por un sistema mo- lotes mediante lo que se conoce como procesamiento por
nousuario (nicamente un usuario al mismo tiempo) ms lotes (batch) sin automatizar.
sencillo de gestionar.[5] Vase AmigaOS, beOS o Mac OS
como los pioneros[6] de dicha modernizacin, cuando los
Amiga fueron bautizados con el sobrenombre de Video 1.2 Monitores residentes
Toasters[7] por su capacidad para la Edicin de vdeo en
entorno multitarea round robin, con gestin de miles de
colores e interfaces intuitivos para diseo en 3D.
En ciertos textos, el sistema operativo es llamado indis-
tintamente como ncleo o kernel, pero debe tenerse en
cuenta que la diferencia entre kernel y sistema operativo
solo es aplicable si el ncleo es monoltico, lo cual fue
muy comn entre los primeros sistemas. En caso contra-
rio, es incorrecto llamar al sistema operativo ncleo.
Uno de los propsitos del sistema operativo que gestiona
el ncleo intermediario consiste en gestionar los recur-
sos de localizacin y proteccin de acceso del hardware,
hecho que alivia a los programadores de aplicaciones de
tener que tratar con estos detalles. La mayora de aparatos
electrnicos que utilizan microprocesadores para funcio-
nar, llevan incorporado un sistema operativo (telfonos Fichas en lenguaje de procesamiento por lotes, con programa y
mviles, reproductores de DVD, computadoras, radios, datos, para ejecucin secuencial.
enrutadores, etc.). En cuyo caso, son manejados median-
te una interfaz grca de usuario, un gestor de ventanas Segn fue avanzando la complejidad de los programas,
o un entorno de escritorio, si es un celular, mediante una fue necesario implementar soluciones que automatizaran
consola o control remoto si es un DVD y, mediante una la organizacin de tareas sin necesidad de un operador.
lnea de comandos o navegador web si es un enrutador. Debido a ello se crearon los monitores residentes: progra-
mas que residan en memoria y que gestionaban la ejecu-
cin de una cola de trabajos.
1 Perspectiva histrica Un monitor residente estaba compuesto por un cargador,
un Intrprete de comandos y un controlador (drivers) para
Los primeros sistemas (1945-1954) eran grandes mqui- el manejo de entrada/salida.
nas operadas desde la consola maestra por los programa-
dores. Durante la dcada siguiente (1955-1965) se lleva-
ron a cabo avances en el hardware: lectoras de tarjetas, 1.3 Sistemas con almacenamiento tempo-
impresoras, cintas magnticas, etc. Esto a su vez provoc ral de E/S
un avance en el software: compiladores, ensambladores,
cargadores, manejadores de dispositivos, etc. Los avances en el hardware crearon el soporte de
A nales de los aos 1980, una computadora Commodore interrupciones y posteriormente se llev a cabo un inten-
Amiga equipada con una aceleradora Video Toaster era to de solucin ms avanzado: solapar la E/S de un trabajo
capaz de producir efectos comparados a sistemas dedi- con sus propios clculos, por lo que se cre el sistema de
cados que costaban el triple. Un Video Toaster junto a bfers con el siguiente funcionamiento:
Lightwave ayud a producir muchos programas de tele-
visin y pelculas, entre las que se incluyen Babylon 5, Un programa escribe su salida en un rea de memo-
SeaQuest DSV y Terminator 2.[8] ria (bfer 1).

El monitor residente inicia la salida desde el buer


1.1 Problemas de explotacin y soluciones y el programa de aplicacin calcula depositando la
iniciales salida en el buer 2.

El problema principal de los primeros sistemas era su ba- La salida desde el buer 1 termina y el nuevo clculo
ja utilizacin, la primera solucin fue poner un operador tambin.
profesional que lo manejase, con lo que se eliminaron las
Se inicia la salida desde el buer 2 y otro nuevo
hojas de reserva, se ahorr tiempo y se aument la velo-
clculo dirige su salida al buer 1.
cidad.
Para ello, los trabajos se agrupaban de forma manual en El proceso se puede repetir de nuevo.
1.7 Modos de ejecucin en un CPU 3

Los problemas surgen si hay muchas ms operaciones de Las llamadas correspondientes deben tener el mismo
clculo que de E/S (limitado por la CPU) o si por el con- formato.
trario hay muchas ms operaciones de E/S que clculo
(limitado por la E/S). Cada llamada al nuevo SO tiene que dar los mismos
resultados que la correspondiente del anterior.

1.4 Spoolers
1.7 Modos de ejecucin en un CPU
Hace aparicin el disco magntico con lo que surgen nue-
vas soluciones a los problemas de rendimiento. Se elimi- Las aplicaciones no deben poder usar todas las instruccio-
nan las cintas magnticas para el volcado previo de los nes de la CPU. No obstante el Sistema Operativo, tiene
datos de dispositivos lentos y se sustituyen por discos (un que poder utilizar todo el conjunto de instrucciones del
disco puede simular varias cintas). Debido al solapamien- CPU. Por ello, una CPU debe tener (al menos) dos mo-
to del clculo de un trabajo con la E/S de otro trabajo se dos de operacin diferentes:
crean tablas en el disco para diferentes tareas, lo que se
conoce como Spool (Simultaneous Peripherial Operation Modo usuario: el CPU podr ejecutar slo las ins-
On-Line). trucciones del juego restringido de las aplicaciones.

Modo supervisor: la CPU debe poder ejecutar el


1.5 Sistemas operativos multiprograma- juego completo de instrucciones.
dos
Surge un nuevo avance: el hardware con proteccin de 1.8 Llamadas al sistema
memoria, ofreciendo nuevas soluciones a los problemas
de rendimiento: Una aplicacin, normalmente no sabe dnde est situada
la rutina de servicio de la llamada. Por lo que si sta se
Se solapa el clculo de unos trabajos con la entra- codica como una llamada de funcin, cualquier cambio
da/salida de otros trabajos. en el S.O. hara que hubiera que reconstruir la aplicacin.
Pero lo ms importante es que una llamada de funcin
Se pueden mantener en memoria varios programas.
no cambia el modo de ejecucin de la CPU. Con lo que
Se asigna el uso de la CPU a los diferentes progra- hay que conseguir llamar a la rutina de servicio, sin tener
mas en memoria. que conocer su ubicacin, y hacer que se fuerce un cam-
bio de modo de operacin de la CPU en la llamada (y la
Con los cambios anteriores el monitor residente debe recuperacin del modo anterior en el retorno).
abordar nuevas tareas, naciendo los Sistemas Operativos Esto se hace utilizando instrucciones mquina diseadas
multiprogramados con las siguientes funciones: especcamente para este cometido, distintas de las que
se usan para las llamadas de funcin.
Administrar la memoria.
Gestionar el uso de la CPU (planicacin).
1.9 Bibliotecas de interfaz de llamadas al
Administrar el uso de los dispositivos de E/S. sistema

Cuando desempea esas tareas, el monitor residente se Las llamadas al sistema no siempre tienen una expresin
transforma en un sistema operativo multiprogramado. sencilla en los lenguajes de alto nivel, por ello se crean las
bibliotecas de interfaz, que son bibliotecas de funciones
que pueden usarse para efectuar llamadas al sistema. Las
1.6 Llamadas al sistema operativo hay para distintos lenguajes de programacin.
La aplicacin llama a una funcin de la biblioteca de in-
Denicin breve: llamadas que ejecutan los programas
terfaz (mediante una llamada normal) y esa funcin es la
de aplicacin para pedir algn servicio al SO.
que realmente hace la llamada al sistema.
Cada SO implementa un conjunto propio de llamadas al
sistema. Ese conjunto de llamadas es la interfaz del SO
frente a las aplicaciones. Constituyen el lenguaje que de- 1.10 Interrupciones y excepciones
ben usar las aplicaciones para comunicarse con el SO. Por
ello si cambiamos de SO, y abrimos un programa disea- El SO ocupa una posicin intermedia entre los progra-
do para trabajar sobre el anterior, en general el programa mas de aplicacin y el hardware. No se limita a utilizar
no funcionar, a no ser que el nuevo SO tenga la misma el hardware a peticin de las aplicaciones ya que hay si-
interfaz. Para ello: tuaciones en las que es el hardware el que necesita que
4 1 PERSPECTIVA HISTRICA

se ejecute cdigo del SO. En tales situaciones el hardwa- Cuando se introduce un carcter, se codica en el registro
re debe poder llamar al sistema, pudiendo deberse estas de datos del dispositivo y adems se activa un bit del re-
llamadas a dos condiciones: gistro de estado quien crea una interrupcin en el hardwa-
re. El procesador deja temporalmente la tarea que estaba
Algn dispositivo de E/S necesita atencin. completando y ejecuta la rutina de atencin a la interrup-
cin correspondiente. El teclado almacena el carcter en
Se ha producido una situacin de error al intentar el vector de memoria intermedia (tambin llamado buf-
ejecutar una instruccin del programa (normalmente fer) asociada al teclado y despierta el proceso que haba
de la aplicacin). en el estado de espera de la operacin de entrada/salida.

En ambos casos, la accin realizada no est ordenada por


el programa de aplicacin, es decir, no gura en el pro-
grama. 1.13 Excepciones
Segn los dos casos anteriores tenemos las interrupciones Cuando la CPU intenta ejecutar una instruccin incorrec-
y las excepciones: tamente construida, la unidad de control lanza una excep-
cin para permitir al SO ejecutar el tratamiento adecua-
Interrupcin: seal que enva un dispositivo de E/S do. Al contrario que en una interrupcin, la instruccin
a la CPU para indicar que la operacin de la que se en curso es abortada. Las excepciones al igual que las in-
estaba ocupando, ya ha terminado. terrupciones deben estar identicadas.
Excepcin: una situacin de error detectada por la
CPU mientras ejecutaba una instruccin, que re-
quiere tratamiento por parte del SO. 1.13.1 Clases de excepciones

Las instrucciones de un programa pueden estar mal cons-


1.11 Tratamiento de las interrupciones truidas por diversas razones:

Una interrupcin se trata en todo caso, despus de termi-


nar la ejecucin de la instruccin en curso. El cdigo de operacin puede ser incorrecto.
El tratamiento depende de cul sea el dispositivo de E/S
que ha causado la interrupcin, ante la cual debe poder Se intenta realizar alguna operacin no denida, co-
identicar el dispositivo que la ha causado. mo dividir por cero.

La ventaja de este procedimiento es que no se tiene


La instruccin puede no estar permitida en el modo
que perder tiempo ejecutando continuamente rutinas para
de ejecucin actual.
consultar el estado del perifrico. El inconveniente es que
el dispositivo debe tener los circuitos electrnicos necesa-
rios para acceder al sistema de interrupciones del compu- La direccin de algn operando puede ser incorrecta
tador. o se intenta violar alguno de sus permisos de uso.

1.12 Importancia de las interrupciones 1.13.2 Importancia de las excepciones

El mecanismo de tratamiento de las interrupciones per- El mecanismo de tratamiento de las excepciones es esen-
mite al SO utilizar la CPU en servicio de una aplicacin, cial para impedir, junto a los modos de ejecucin de la
mientras otra permanece a la espera de que concluya una
CPU y los mecanismos de proteccin de la memoria, que
operacin en un dispositivo de E/S. las aplicaciones realicen operaciones que no les estn per-
El hardware se encarga de avisar al SO cuando el dis- mitidas. En cualquier caso, el tratamiento especco de
positivo de E/S ha terminado y el SO puede intervenir una excepcin lo realiza el SO.
entonces, si es conveniente, para hacer que el programa Como en el caso de las interrupciones, el hardware se li-
que estaba esperando por el dispositivo, se contine eje- mita a dejar el control al SO, y ste es el que trata la si-
cutando. tuacin como convenga.
En ciertos intervalos de tiempo puede convenir no aceptarEs bastante frecuente que el tratamiento de una excepcin
seales de interrupcin. Por ello las interrupciones pue-no retorne al programa que se estaba ejecutando cuando
den inhibirse por programa (aunque esto ellas no deben se produjo la excepcin, sino que el SO aborte la ejecu-
poder hacerlo). cin de ese programa. Este factor depende de la pericia
Un ejemplo de sincronismo por interrupcin es el almace- del programador para controlar la excepcin adecuada-
namiento de caracteres introducidos mediante el teclado. mente.
2.3 Gestin del almacenamiento secundario 5

Asignar y reclamar espacio de memoria cuando sea


necesario.

2.3 Gestin del almacenamiento secunda-


rio
Un sistema de almacenamiento secundario es necesario,
ya que la memoria principal (almacenamiento primario)
es voltil y adems muy pequea para almacenar todos
los programas y datos. Tambin es necesario mantener los
datos que no convenga mantener en la memoria principal.
El SO se encarga de:
Componentes del Sistema Operativo.

Planicar los discos.


2 Componentes de un sistema ope-
Gestionar el espacio libre.
rativo
Asignar el almacenamiento.
2.1 Gestin de procesos Vericar que los datos se guarden en orden.

Un proceso es simplemente, un programa en ejecucin


que necesita recursos para realizar su tarea: tiempo de 2.4 El sistema de entrada y salida
CPU, memoria, archivos y dispositivos de E/S. El SO es
el responsable de lo siguiente: Consiste en un sistema de almacenamiento temporal
(cach), una interfaz de manejadores de dispositivos y
Crear y destruir procesos. otra para dispositivos concretos. El sistema operativo de-
be gestionar el almacenamiento temporal de E/S y servir
Parar y reanudar procesos. las interrupciones de los dispositivos de E/S.
Ofrecer mecanismos para que los procesos puedan
comunicarse y se sincronicen. 2.5 Sistema de archivos
La gestin de procesos podra ser similar al trabajo de Los archivos son colecciones de informacin relacionada,
ocina. Se puede tener una lista de tareas a realizar y a denidas por sus creadores. Estos almacenan programas
estas jarles prioridades alta, media, baja por ejemplo. (en cdigo fuente y objeto) y datos tales como imgenes,
Debemos comenzar haciendo las tareas de prioridad alta textos, informacin de bases de datos, etc. El SO es res-
primero y cuando se terminen seguir con las de prioridad ponsable de:
media y despus las de baja. Una vez realizada la tarea se
tacha. Construir, eliminar archivos y directorios.
Esto puede traer un problema que las tareas de baja prio-
ridad pueden que nunca lleguen a ejecutarse y permanez- Ofrecer funciones para manipular archivos y direc-
can en la lista para siempre. Para solucionar esto, se puede torios.
asignar alta prioridad a las tareas ms antiguas. Establecer la correspondencia entre archivos y uni-
dades de almacenamiento.
2.2 Gestin de la memoria principal Realizar copias de seguridad de archivos.

La memoria es una gran tabla de palabras o bytes que se Existen diferentes sistemas de archivos, es decir, existen
referencia cada una mediante una direccin nica. Este diferentes formas de organizar la informacin que se al-
almacn de datos de rpido acceso es compartido por la macena en las memorias (normalmente discos) de los or-
CPU y los dispositivos de E/S, es voltil y pierde su con- denadores. Por ejemplo, existen los sistemas de archivos
tenido ante fallos del sistema. El SO es el responsable de: FAT, FAT32, ext3, NTFS, XFS, etc.

Conocer qu partes de la memoria estn siendo uti-Desde el punto de vista del usuario estas diferencias pue-
lizadas y por quin. den parecer insignicantes a primera vista, sin embargo,
existen diferencias muy importantes. Por ejemplo, los sis-
Decidir qu procesos se cargarn en memoria cuan- temas de cheros FAT32 y NTFS, que se utilizan funda-
do haya espacio disponible. mentalmente en sistemas operativos de Microsoft, tienen
6 4 EJEMPLOS DE SISTEMAS OPERATIVOS PARA PC

una gran diferencia para un usuario que utilice una ba- 3 Clasicacin
se de datos con bastante informacin ya que el tamao
mximo de un chero con un sistema de archivos FAT32
3.1 Administracin de tareas
est limitado a 4 gigabytes, sin embargo, en un sistema
NTFS el tamao es considerablemente mayor. Monotarea: Solamente permite ejecutar un proceso
(aparte de los procesos del propio SO) en un mo-
2.6 Sistemas de proteccin mento dado. Una vez que empieza a ejecutar un pro-
ceso, continuar hacindolo hasta su nalizacin y/o
Mecanismo que controla el acceso de los programas o los interrupcin.
usuarios a los recursos del sistema. El SO se encarga de: Multitarea: Es capaz de ejecutar varios procesos al
mismo tiempo. Este tipo de SO normalmente asig-
Distinguir entre uso autorizado y no autorizado. na los recursos disponibles (CPU, memoria, perif-
Especicar los controles de seguridad a realizar. ricos) de forma alternada a los procesos que los so-
licitan, de manera que el usuario percibe que todos
Forzar el uso de estos mecanismos de proteccin. funcionan a la vez, de forma concurrente.

2.7 Sistema de comunicaciones 3.2 Administracin de usuarios


Para mantener las comunicaciones con otros sistemas es Monousuario: Slo permite ejecutar los programas
necesario poder controlar el envo y recepcin de infor- de un usuario al mismo tiempo.
macin a travs de las interfaces de red. Tambin hay que
crear y mantener puntos de comunicacin que sirvan a las Multiusuario: Permite que varios usuarios ejecuten
aplicaciones para enviar y recibir informacin, y crear y simultneamente sus programas, accediendo a la vez
mantener conexiones virtuales entre aplicaciones que es- a los recursos de la computadora. Normalmente es-
tn ejecutndose localmente y otras que lo hacen remo- tos sistemas operativos utilizan mtodos de protec-
tamente. cin de datos, de manera que un programa no pueda
usar o cambiar los datos de otro usuario.

2.8 Programas de sistema


3.3 Manejo de recursos
Son aplicaciones de utilidad que se suministran con el SO
pero no forman parte de l. Ofrecen un entorno til para Centralizado: Permite usar los recursos de una sola
el desarrollo y ejecucin de programas, siendo algunas de computadora.
las tareas que realizan: Distribuido: Permite utilizar los recursos (memoria,
CPU, disco, perifricos...) de ms de una compu-
Manipulacin y modicacin de archivos. tadora al mismo tiempo.
Informacin del estado del sistema.
Soporte a lenguajes de programacin. 4 Ejemplos de sistemas operativos
Comunicaciones. para PC

2.9 Gestor de recursos OS X

Windows
Como gestor de recursos, el sistema operativo administra:
GNU/Linux
La unidad central de procesamiento (donde est alo-
jado el microprocesador). Unix

Los dispositivos de entrada y salida. Solaris

La memoria principal (o de acceso directo). FreeBSD

Los discos (o memoria secundaria). OpenBSD

Los procesos (o programas en ejecucin). Google Chrome OS

Y en general todos los recursos del sistema. Debian


7

Ubuntu 6 Vase tambin


Wave OS
Anexo:Sistemas operativos
Mandriva
Anexo:Comparacin de sistemas operativos
Sabayon
Anexo:Cronologa de los sistemas operativos
Fedora
Historia de los sistemas operativos
Puppy Linux
Haiku (BeOS) Sistema operativo de red

Plan 9 Software de sistema

HP-UX
Exirion OS 7 Referencias
ReactOS
[1] W3counter
BeOS
[2] Cfr., entre otros: Tanenbaum, A. (1992) Modern Opera-
Tuquito ting Systems, Englewood Clis: Prentice-Hall; Haldar, S.
y Aravind, A. A. (2010) Operating Systems, Pearson Edu-
Red Hat Enterprise Linux for Desktops or cation India, pp. 12 y ss.; Turner, R. W. (1986) Operating
Workstations[9] Systems: design and implementation, MacMillan.

Suse Desktop[10] [3] Its important to realize that these programs are not part
of the operating system (...). The operating system is the
Open Suse [11]
portion of the software that runs in kernel mode (...). A
trend in modern operating systems is to take this idea of
moving code up into higher layers even further and remo-
5 Ejemplos de sistemas operativos ve as much as possible from the operating system, leaving
a minimal kernel (Rerindose a un sistema microncleo
para dispositivos mviles basado en el modelo cliente-servidor. El autor indica repe-
tidamente que es razonable argumentar que las funciones
Android que pasan a ejecutarse en espacio de usuario siguen siendo
parte del sistema operativo). Operating Systems Design &
iOS Implementation, Tanenbaum y Woodhull.

Bada [4] Cisco Systems (1992). cisco.com, ed. Fundamentos de


UNIX (certicacin). Consultado el 10 de febrero de
BlackBerry OS 2010.
BlackBerry 10 [5] Washington Post - Debut de Windows 95 (en ingls).
Windows Phone Consultado el 2009.

Windows 10 Mobile [6] toastytech.com, ed. (2010). BeOS 5.0 Personal Edition
(en ingls). Consultado el 10 de febrero de 2010.
Symbian OS
[7] Amiga Video Toaster (en ingls). NewTek, Inc. 2010.
HP webOS Consultado el 1 de febrero de 2010.

Firefox OS [8] Rabay, Francisco. amiga-hardware.com, ed. Newtek:


Video Toaster 4000 (en ingls). Archivado desde el ori-
Ubuntu Phone OS ginal el 30 de noviembre de 2015. Consultado el 6 de fe-
brero de 2010.
Tizen
Asha Platform [9] Red Hat Enterprise Linux for Desktops or Workstations
(en ingls). Consultado el 8 de abril de 2015.
Palm OS
[10] Aordable Linux Desktops Designed for the Enterprise
WebOS (en ingls). Consultado el 8 de abril de 2015.

CyanogenMod [11] openSUSE. Consultado el 8 de abril de 2015.


8 9 ENLACES EXTERNOS

8 Bibliografa
Obrien, James A. (2006). Sistemas de Informacin
Gerencial. Mxico DF.

9 Enlaces externos

Wikimedia Commons alberga contenido multi-


media sobre Sistema operativoCommons.

Wikcionario tiene deniciones y otra informa-


cin sobre sistema operativo.Wikcionario

Wikiversidad alberga proyectos de aprendizaje


sobre Sistema operativo.Wikiversidad
9

10 Origen del texto y las imgenes, colaboradores y licencias


10.1 Texto
Sistema operativo Fuente: https://es.wikipedia.org/wiki/Sistema_operativo?oldid=97238067 Colaboradores: AstroNomo, Sellkyrck, Pus-
kas~eswiki, PACO, Suisui, Xavier~eswiki, Nnss, Randyc, Joseaperez, Manuel Gonzlez Olaechea y Franco, Soniautn, Moriel, Bluenote,
Sauron, JorgeGG, Alfaprint, Larocka, ManuelGR, Vanbasten 23, Nikai, Frapen, Angus, Rumpelstiltskin, Sanbec, Aparejador, Zwobot,
Comae, Mbarousse, Interwiki, Rosarino, Sam Hocevar, Dodo, Miguel etsit, Gmagno, Triku, Ascnder, AdeVega, Sms, Rsg, AlbertoDV,
Opinador, Tostadora, Tano4595, Renacimiento, Angelsh, Murphy era un optimista, Jsanchezes, Barcex, Jarl, Yakoo, Elproferoman, PeiT,
Joserri, JavierCantero, Geom, Cinabrium, Fmariluis, Panchurret, Loco085, Robotico, Balderai, Kordas, Chewie, Renabot, Tuks, Leonar-
doRob0t, Lmsilva, Alexan, Soulreaper, DMG, AlfonsoERomero, Airunp, JMPerez, Edub, Vedranell~eswiki, Yrithinnd, Taichi, Emijrp,
Patricio.lorente, Rembiapo pohyiete (bot), Caiser, Chuyrocha, Magister Mathematicae, Aadrover, OMenda, Ppfk~eswiki, Dagilpe, Ro-
botQuistnix, Platonides, Joanfusan, Alhen, Superzerocool, Chobot, Caiserbot, Unicacion, Yrbot, Amads, Seanver, BOT-Superzerocool,
Oscar ., FlaBot, Vitamine, BOTijo, .Sergio, Dangarcia, YurikBot, Museo8bits, Icvav, GermanX, Willtron, Beto29, Gaijin, The Photograp-
her, Libero, Carlos Humberto, Jesuja, Tigerfenix, Santiperez, Pollo es pollo, Fobenavi, Sonia Rod, Baneld, Fernd, Gtz, Ppja, Morza,
Maldoror, Er Komandante, Cheveri, Chlewbot, Spc, Tomatejc, Czajko, Jarke, German raul, Siabef, The worst user, AtilaElHuno, Axx-
greazz, Futbolero, Aleator, BOTpolicia, Since, Alfa989, JEDIKNIGHT1970, CEM-bot, Jorgelrm, Laura Fiorucci, -jem-, Darkpro, Ale-
xav8, Xexito, Jjvaca, Retama, LupoAlberto, Pacostein, Baiji, Soporterct, Roberpl, JoRgE-1987, Nirnaeth, Rotosca, Verbatim~eswiki, An-
tur, JoulSauron, Programador, Dorieo, Montgomery, FrancoGG, Thijs!bot, Alvaro qc, Ty25, Srengel, Mahadeva, Escarbot, Yeza, Drake 81,
RoyFocker, Mmasias, Max Changmin, Albireo3000, Zifra, Ninovolador, Alakasam, ProgramadorCCCP, Guille, Botones, Isha, Bernard,
Arcibel, Dogor, Gusgus, Gngora, Mpeinadopa, Dfcuellar, Rrmsjp, JAnDbot, Johns, A.r.K.a.N.g.e.L., TARBOT, Lasai, Stifax, VanKlei-
nen, Denarius, Kved, TiberioClaudio, Achata, Mansoncc, BetBot~eswiki, Don Depresor, Muro de Aguas, Hugo-Luis, Limbo@MX, Zufs,
Cespinoza, TXiKiBoT, Venturi, Jorgemty, Gustronico, Ludavim, ColdWind, Bot-Schafter, Gacq, Elisardojm, Humberto, Netito777, RuLf,
Peppepep, Nioger, Idioma-bot, Plux, BL, Renepante, Manuel Trujillo Berges, DonBarredora, AlnoktaBOT, VolkovBot, Drever, Snake-
yes, Technopat, Jose gueredo, C'est moi, Galandil, Queninosta, Erl, Matdrodes, Fernando Estel, Elabra sanchez, Synthebot, House, DJ
Nietzsche, BlackBeast, Shooke, Lucien leGrey, AlleborgoBot, 3coma14, Fillbit, Muro Bot, Edmenb, YonaBot, Adriglezmunera, BotMul-
tichill, Jmvgpartner, SieBot, Mushii, Ctrl Z, PaintBot, Juanmundo, Carmin, Cobalttempest, Jacina~eswiki, Drinibot, Rodolfoap, Juank80,
Dani pt, BOTarate, Marcelo, Mel 23, Maximoalberto, Gurgut, Manw, Mauricio Xavier, Pascow, Lork, Greek, Lobo, BuenaGente, Belb,
Mafores, PipepBot, Chico512, Lujomebe, Yonseca, Mercadder, Tirithel, Mutari, Carvas, Jarisleif, HUB, Oscar1922, Cjervis, Thunder-
bird2, Mamosi, Antn Francho, Nicop, Smensichowy, DragonBot, Kanapejm, PixelBot, Eduardosalg, Veon, Huberto252, Leonpolanco,
ElMeBot, LuisArmandoRasteletti, Alecs.bot, Furti, Petruss, Poco a poco, Jperelli, Rge, Raulshc, Aipni-Lovrij, Osado, Razr Nation,
Julian leonardo paez, Purbo T, Camilo, UA31, Shalbat, Seldaiendil, MARC912374, AVBOT, Ellinik, David0811, MastiBot, Adelpine,
MarcoAurelio, EivindBot, Ezarate, Diegusjaimes, Davidgutierrezalvarez, Linfocito B, Oscaroe, CarsracBot, Arjuno3, Saloca, Andreasm-
peru, Luckas-bot, Ceixeoida, Nallimbot, Inexinferis, Enrique Suarez Infante, S J, Ptbotgourou, Jotterbot, LordboT, Dangelin5, Joseagrc,
LyingB, Jorge 2701, Phantom Stranger, ArthurBot, MartinDM, SuperBraulio13, Xqbot, Jkbw, Dreitmen, Katy1234, Dan6hell66, Josemi-
guel93, R&POLL, Ricardogpn, Torrente, JFRN, AstaBOTh15, TiriBOT, Hprmedina, Linux65, TobeBot, Halfdrag, Jafeluv, PatruBOT,
Dinamik-bot, Fran89, TjBot, Humbefa, Olivares86, Tarawa1943, Jorge c2010, Foundling, GrouchoBot, Adriansm, Gauri, Axvolution,
Edslov, EmausBot, Savh, AVIADOR, ZroBot, Allforrous, Sergio Andres Segovia, Grillitus, JackieBot, Rubpe19, Emiduronte, Jcaraba-
llo, Sergio gonzalitos, ChuispastonBot, MadriCR, Waka Waka, WikitanvirBot, Gabo46, Antonorsi, SaeedVilla, MerlIwBot, Samuel1937,
Petero09, TeleMania, Cozyespartano, Yolanda perez, Maggiee~eswiki, Sebrev, Cooky~eswiki, Travelour, Gins90, MetroBot, Invadibot,
Tavicolo, Jacobofandebillgates, Gusama Romero, Seasz, Josueko, Acratta, Grachifan, Pollolepe, Elvisor, Creosota, Asqueladd, Danie-
lithoMoya, Santga, Grmanresa, Helmy oved, Alex Filth, Soledadbeatriz, Akdkiller, Xilesa, Strigueros, Syum90, Jesus eduardo ameca,
Rauletemunoz, Lemilio775, MaKiNeoH, Ovejo negro, -Raul Fer-, Legobot, Emferr, Mojonkitomalogoterataconmojonesrotos, Lautaro
97, Jean70000, Addbot, Balles2601, Cristhian Pea, Cansaya, XVRT, PanDaGirl, Churrasco italiano, Ola k asiendo, Yaet123, Mario-
Finale, Giannibest, Miolito1, Jarould, Carriearchdale, Matiia, Egis57, Lazaro Villalba, Bruno Rene Vargas, Crystallizedcarbon, Jose soto
martin, AlvaroMolina, Vozzer dwey, Wizard-Lizard, Vtor, Tude1989, BenjaBot, 4lextintor, Willydabueno, Xhonn, Xioma bello m., Mi-
guu, Lalitoay001, Carlitoscarlos, Victor alejandro cano, Sfr570, Scanner74, Aramiza, CAPTAIN RAJU, Fernando2812l, Gloix01, Catalin
Patrascu, Ks-M9, Juanesbe0, Ricardo tello, Adolto19991999, Tobias imantar, Aldotron, Bat bat man, Grupouoc, Krassnine, Yosoychida,
Tu gfesota, Kamenaba, Phytom, Juanjolol29, MomijiRoBot y Annimos: 2014

10.2 Imgenes
Archivo:Batchjobb_Norwegian.png Fuente: https://upload.wikimedia.org/wikipedia/commons/1/14/Batchjobb_Norwegian.png Licen-
cia: Public domain Colaboradores: Trabajo propio Artista original: Harald Hansen
Archivo:Commons-emblem-question_book_yellow.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/dd/
Commons-emblem-question_book_yellow.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-query.svg' class='image'><img alt='Commons-emblem-query.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/c/c5/Commons-emblem-query.svg/25px-Commons-emblem-query.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/38px-Commons-emblem-query.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/50px-Commons-emblem-query.svg.png
2x' data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg'
class='image'><img alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/25px-Question_book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/
Question_book.svg/38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/50px-Question_book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Linfocito
B
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
10 10 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

Archivo:Componentes_sistemas_operativos.gif Fuente: https://upload.wikimedia.org/wikipedia/commons/7/75/Componentes_


sistemas_operativos.gif Licencia: CC BY-SA 2.5 Colaboradores: Propia Artista original: Angel Chata
Archivo:Operating_system_placement-es.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/dc/Operating_system_
placement-es.svg Licencia: CC BY-SA 3.0 Colaboradores:
Operating_system_placement.svg Artista original: Operating_system_placement.svg: Golftheman
Archivo:Ranking_sistemas_operativos_escritorio_ene_2012.png Fuente: https://upload.wikimedia.org/wikipedia/commons/6/6a/
Ranking_sistemas_operativos_escritorio_ene_2012.png Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Czajko
Archivo:Ranking_sistemas_operativos_escritorio_por_versiones_ene_2012.png Fuente: https://upload.wikimedia.org/wikipedia/
commons/7/76/Ranking_sistemas_operativos_escritorio_por_versiones_ene_2012.png Licencia: CC BY-SA 3.0 Colaboradores: Trabajo
propio Artista original: Czajko
Archivo:SOU2.PNG Fuente: https://upload.wikimedia.org/wikipedia/commons/8/89/SOU2.PNG Licencia: Public domain Colaborado-
res: Trabajo propio Artista original: Fobenavi
Archivo:Wikiversity-logo-Snorky.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1b/Wikiversity-logo-en.svg Licen-
cia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Snorky
Archivo:Wiktionary-logo-es.png Fuente: https://upload.wikimedia.org/wikipedia/commons/0/06/Wiktionary-logo-es.png Licencia: CC
BY-SA 3.0 Colaboradores: originally uploaded there by author, self-made by author Artista original: es:Usuario:Pybalo

10.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Anexo:Cronologa de los sistemas operativos

Este artculo presenta una lnea del tiempo de los Sistemas CP/M
Operativos desde 1960 a 2015. TOPS-20

1978
1 1960s Apple DOS 3.1 (Primer sistema operativo Ap-
ple)
1960
TripOS
1961 VMS
Lisp Machine (CADR)
CTSS
1979
1962
POS
EXEC II
NLTSS
1964
EXEC 8
3 1980s
1965
OS/360 1980

1969 OS-9
QDOS
Unix
SOS
XDE (Tajo) (Xerox Development Environ-
2 1970s ment)
Xenix
1970
1981
BATCH-11 (PDP-11)
MS-DOS
1971
Acorn MOS
OS/8
1982
1972
Commodore DOS
MFT SunOS (1.0)
MVT Ultrix
RDOS
1983
SVS
VM/CMS Lisa OS
Coherent
1973
Novell NetWare
Alto OS
ProDOS

BS2000 1984

1976 Macintosh OS (System 1.0)

1
2 5 2000S

MSX-DOS GNU/Linux Debian y Linux Slackware


QNX Plan 9 (Primera versin)
UniCOS FreeBSD
1985 NetBSD

AmigaOS 1994
Atari TOS Linux RedHat
MIPS OS
1995
1986
Digital UNIX (aka Tru64 )
AIX OpenBSD
GS-OS OS/390
HP-UX Windows 95
1987 Plan 9 (Segunda versin)
Arthur 1996
IRIX (3.0 es la primera versin de SGI)
Windows NT 4.0
Minix
1997
OS/2 (1.0)
1988 Inferno
Mac OS 7.6 (El primer Mac OS llamado o-
A/UX (Apple Computer) cialmente as)
LynxOS SkyOS
MVS/ESA
1998
OS/400
Mandrake Linux (hoy Conocido como
1989
Mandriva Linux)
NeXTSTEP (1.0) Solaris 7 (El primer 64-bit de Solaris)
RISC OS Windows 98
SCO Unix (release 3) ReactOS 0.0.13

1999
4 1990s AROS
Mac OS 8
1990
ReactOS 0.0.14
Amiga OS 2.0
BeOS (v1)
OSF/1 (karla duran OX) 5 2000s
1991 2000
Linux
AtheOS
MS-DOS 5.0
Mac OS 9
1992 MorphOS
386BSD 0.1 Mac OS X Beta pblica
Amiga OS 3.0 Windows 2000
Solaris 2.0 (Sucesor de SunOS 4.x; basado en Windows Me
SVR4) ReactOS 0.0.16
1993 Plan 9 (Tercera versin)
3

2001 6 2010
Amiga OS 4.0 (Mayo 2001)
2010
Mac OS X 10.1
Windows XP Android 2.1
z/OS iOS 4 (la ltima actualizacin es el iOS 4.3.5)
ReactOS 0.0.18 Ubuntu 10.04

2002 Windows Phone 7.1

Syllable 2011
Mac OS X 10.2 Ubuntu 11.04
ReactOS 0.0.21 iOS 5
Plan 9 (Cuarta versin) Mac OS X Lion 10.7
gnulinex Ubuntu 11.10
2003 Mac OS X Snow Leopard v10.6
Windows Server 2003 2012
Mac OS X 10.3
Windows 8
ReactOS 0.1.5
iOS 6
knoppix
Android 4.1
2004 Ubuntu 12.04 LTS (Soporte largo de 5 aos)
Ubuntu Linux Ubuntu 12.10
ReactOS 0.2.4
2013
2005
Firefox OS
Mac OS X 10.4 iOS 7
ReactOS 0.2.9 Ubuntu 13.04 (Raring Ringtail)
2006 Ubuntu 13.10 (Saucy Salamander)
Windows Vista OS X Mavericks
ReactOS 0.3.0 2014
2007 iOS 8
Mac OS X v10.5 OS X Yosemite
ReactOS 0.3.2 (Versin nunca lanzada)
2015
iPhone OS 1.0
iOS 9
2008
OS X El Capitan
ReactOS 0.3.7 Windows 10
Windows Server 2008
2016
iPhone OS 2.0
Ubuntu 16.04 LTS Xenial Xerus
2009
Android Nougat Versin 7
JNode 0.2.8
Mac OS X v10.6
Windows 7
ReactOS 0.3.10
iPhone OS 3.0
Palm webOS
Android
4 7 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

7 Origen del texto y las imgenes, colaboradores y licencias


7.1 Texto
Anexo:Cronologa de los sistemas operativos Fuente: https://es.wikipedia.org/wiki/Anexo%3ACronolog%C3%ADa_de_los_sistemas_
operativos?oldid=94841682 Colaboradores: JorgeGG, Unicacion, Yrbot, Museo8bits, Icvav, Bumm13, Czajko, Alfredobi, Boja, CEM-
bot, Alexav8, Rastrojo, Eledwin01, JAnDbot, TXiKiBoT, Urdangaray, Jarm.yo, Technopat, Matdrodes, Brakdag, Shooke, OLM, Caro-
lingio93, Graimito, Aipni-Lovrij, UA31, AVBOT, Linfocito B, Braren, Halfdrag, Dinamik-bot, Mister Roboto, Nachosan, Susumebashi,
Navarro89, Elvisor, Addbot, Afonerico, MarioFinale, Peatone81, Daniell Veramendi y Annimos: 77

7.2 Imgenes
Archivo:Spanish_Language_Wiki.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/2/2a/Spanish_Language_Wiki.svg
Licencia: CC BY-SA 3.0 Colaboradores: Derived from Wiki puzzle.svg by user:Kimbar Artista original: James.mcd.nz

7.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Historia de los sistemas operativos

Un sistema operativo es uno o varios programas que 2.2 Procesamiento por lotes
se usan para poder trabajar con los componentes de un
equipo de cmputo. Los sistemas operativos proveen un Como solucin para optimizar, en una misma cinta o con-
conjunto de funciones necesarias y usadas por diversos junto de tarjetas, se cargaban varios programas, de forma
programas de aplicaciones de una computadora, y los que se ejecutaran uno a continuacin de otro sin perder
vnculos necesarios para controlar y sincronizar el hard- apenas tiempo en la transicin.
ware de la misma. En las primeras computadoras, que no
tenan sistema operativo cada programa necesitaba la ms
detallada especicacin del hardware para ejecutarse co- 2.3 Almacenamiento temporal
rrectamente y desarrollar tareas estndares, y sus propios
drivers para los dispositivos perifricos como impresoras Su objetivo era disminuir el tiempo de carga de los pro-
y lectores de tarjetas perforadas. El incremento de la gramas, haciendo simultnea la carga del programa o la
complejidad del hardware y los programas de aplicacio- salida de datos con la ejecucin de la siguiente tarea. Para
nes eventualmente hicieron del sistema operativo una ne- ello se utilizaban dos tcnicas, el buering y el spooling.
cesidad.
Los primeros sistemas operativos fueron desarrollados
por cada usuario para el uso de su propia computadora 3 La dcada de 1960
central,[1] y es en 1956 que la General Motors desarrolla
lo que es hoy considerado el primer sistema, el GM-NAA En los aos 60 se produjeron cambios notorios en varios
I/O,[2] para su IBM 704.[3] campos de la informtica, con la aparicin del circuito in-
tegrado la mayora orientados a seguir incrementando el
potencial de los ordenadores. Para ello se utilizaban tc-
1 La dcada de 1940 nicas de lo ms diversas.

A nales de la dcada de 1940, con lo que se podra con-


siderar la aparicin de la primera generacin de compu- 3.1 Multiprogramacin
tadoras en el mundo, se acceda directamente a la consola
de la computadora desde la cual se actuaba sobre una se- En un sistema multiprogramado la memoria principal
rie de micro interruptores que permitan introducir direc- alberga a ms de un programa de usuario. La CPU ejecuta
tamente el programa en la memoria de la computadora. instrucciones de un programa, cuando el que se encuentra
en ejecucin realiza una operacin de E/S; en lugar de es-
perar a que termine la operacin de E/S, se pasa a ejecutar
2 La dcada de 1950 (Sistema otro programa. Si ste realiza, a su vez, otra operacin de
E/S, se mandan las rdenes oportunas al controlador, y
Batch) pasa a ejecutarse otro. De esta forma es posible, tenien-
do almacenado un conjunto adecuado de tareas en cada
A principios de los aos 50 con el objeto de facilitar la in- momento, utilizar de manera ptima los recursos dispo-
teraccin entre persona y computadora, los sistemas ope- nibles.
rativos hacen una aparicin discreta y bastante simple,
con conceptos tales como el monitor residente, el proce-
so por lotes y el almacenamiento temporal. 3.2 Tiempo compartido

En este punto tenemos un sistema que hace buen uso


2.1 Monitor residente de la electrnica disponible, pero adolece la falta de
interactividad; para conseguirla debe convertirse en un
Su funcionamiento era bastante simple, se limitaba a car- sistema multiusuario, en el cual existen varios usuarios
gar programas a la memoria, leyndolos de una cinta o de con un terminal en lnea, utilizando el modo de opera-
tarjetas perforadas, y ejecutarlos. El problema era encon- cin de tiempo compartido. En estos sistemas igual que
trar una forma de optimizar el tiempo entre la retirada de en la multiprogramacin. Pero, a diferencia de sta, cuan-
un trabajo y el montaje del siguiente. do un programa lleva cierto tiempo ejecutndose el siste-

1
2 5 LA DCADA DE 1980

ma operativo lo detiene para que se ejecute otra aplica- 4.2 Inconvenientes de los Sistemas opera-
cin. tivos

Se trataba de sistemas grandes, complejos y costosos,


3.3 Tiempo real pues antes no se haba construido nada similar y muchos
de los proyectos desarrollados terminaron con costos muy
Estos sistemas se usan en entornos donde se deben acep- por encima del presupuesto y mucho despus de lo que
tar y procesar en tiempos muy breves un gran nmero de se marcaba como fecha de nalizacin. Adems, aunque
sucesos, en su mayora externos al ordenador. Si el siste- formaban una capa entre el hardware y el usuario, ste de-
ma no respeta las restricciones de tiempo en las que las ba conocer un complejo lenguaje de control para realizar
operaciones deben entregar su resultado se dice que ha sus trabajos. Otro de los inconvenientes es el gran consu-
fallado. El tiempo de respuesta a su vez debe servir para mo de recursos que ocasionaban, debido a los grandes es-
resolver el problema o hecho planteado. El procesamiento pacios de memoria principal y secundaria ocupados, as
de archivos se hace de una forma continua, pues se proce- como el tiempo de procesador consumido. Es por esto
sa el archivo antes de que entre el siguiente, sus primeros que se intent hacer hincapi en mejorar las tcnicas ya
usos fueron y siguen siendo en telecomunicaciones. existentes de multiprogramacin y tiempo compartido.

4.3 Sistemas operativos desarrollados


3.4 Multiprocesador
MULTICS (Multiplexed Information and Compu-
Diseo que no se encuentran en ordenadores monopro- ting Service)
cesador. Estos problemas derivan del hecho de que dos
programas pueden ejecutarse simultneamente y, poten- BDOS (Basic Disk Operating System): Traductor
cialmente, pueden interferirse entre s. Concretamente, de las instrucciones en llamadas a la BIOS.
en lo que se reere a las lecturas y escrituras en memoria.
CP/M: (Control Program for Microcomputers) fue
Existen dos arquitecturas que resuelven estos problemas:
un sistema operativo desarrollado por Gary Kildall
La arquitectura NUMA, donde cada procesador tiene ac- para el microprocesador Intel 8080 (los Intel 8085
ceso y control exclusivo a una parte de la memoria. La ar- y Zilog Z80 podan ejecutar directamente el cdigo
quitectura SMP, donde todos los procesadores comparten del 8080, aunque lo normal era que se entregara el
toda la memoria. Esta ltima debe lidiar con el problema cdigo recompilado para el microprocesador de la
de la coherencia de cach. Cada microprocesador cuen- mquina). Se trataba del sistema operativo ms po-
ta con su propia memoria cache local. De manera que pular entre las computadoras personales en los aos
cuando un microprocesador escribe en una direccin de 70. Aunque fue modicado para ejecutarse en un
memoria, lo hace nicamente sobre su copia local en ca- IBM PC, el hecho que IBM eligiera MS-DOS, al
ch. Si otro microprocesador tiene almacenada la misma fracasar las negociaciones con Digital Research, hi-
direccin de memoria en su cach, resultar que trabaja zo que el uso de CP/M disminuyera hasta hacerlo
con una copia obsoleta del dato almacenado. desaparecer. CP/M originalmente signicaba Con-
Para que un multiprocesador opere correctamente necesi- trol Program/Monitor. Ms tarde fue renombrado a
ta un sistema operativo especialmente diseado para ello. Control Program for Microcomputers. En la poca,
La mayora de los sistemas operativos actuales poseen es- la barra inclinada (/) tena el signicado de disea-
ta capacidad. do para. No obstante, Gary Kildall redeni el sig-
nicado del acrnimo poco despus. CP/M se con-
virti en un estndar de industria para los primeros
micro-ordenadores.
4 La dcada de 1970
El hecho de que, aos despus, IBM eligiera para sus PC
a MS-DOS supuso su mayor fracaso, por lo que acab
4.1 Sistemas operativos desarrollados desapareciendo.
Adems del Atlas Supervisor y el OS/360, los aos 1970
marcaron el inicio de UNIX, a mediados de los 60 apa-
rece Multics, sistema operativo multiusuario - multitarea 5 La dcada de 1980
desarrollado por los laboratorios Bell de AT&T y Unix,
convirtindolo en uno de los pocos SO escritos en un len- Con la creacin de los circuitos LSI (integracin a gran
guaje de alto nivel. En el campo de la programacin l- escala), chips que contenan miles de transistores en un
gica se dio a luz la primera implementacin de Prolog, y centmetro cuadrado de silicio, empez el auge de los or-
en la revolucionaria orientacin a objetos, Smalltalk. denadores personales. En stos se dej un poco de lado
5.4 AmigaOS 3

el rendimiento y se busc ms que el sistema operativo ya caractersticas novedosas era una GUI (Graphic User
fuera amigable, surgiendo mens, e interfaces grcas. Interface), Multitareas y Mouse. Provoc diferentes reac-
Esto reduca la rapidez de las aplicaciones, pero se vol- ciones entre los usuarios acostumbrados a la lnea de co-
van ms prcticos y simples para los usuarios. En esta mandos y algunos tachando el uso del Mouse como ju-
poca, siguieron utilizndose lenguajes ya existentes, co- guete.
mo Smalltalk o C, y nacieron otros nuevos, de los cua-
les se podran destacar: C++ y Eiel dentro del paradig-
ma de la orientacin a objetos, y Haskell y Miranda en 5.4 AmigaOS
el campo de la programacin declarativa. Un avance im-
portante que se estableci a mediados de la dcada de AmigaOS es el nombre que recibe el conjunto de la fa-
1980 fue el desarrollo de redes de computadoras perso- milia de gestores de ventanas y ROMs que incluan por
nales que corran sistemas operativos en red y sistemas defecto los ordenadores personales Commodore Amiga
operativos distribuidos. En esta escena, dos sistemas ope- como sistema operativo. Fue desarrollado originalmente
rativos eran los mayoritarios: MS-DOS (Micro Soft Disk por Commodore International, e inicialmente presentado
Operating System), escrito por Microsoft para IBM PC en 1985 junto con el Amiga 1000.
y otras computadoras que utilizaban la CPU Intel 8088 y
sus sucesores, y UNIX, que dominaba en los ordenadores
5.5 OS/2
personales que hacan uso del Motorola 68000.
OS/2 es un sistema operativo de IBM que intent suce-
der a DOS como sistema operativo de las computadoras
5.1 SunOS
personales. Se desarroll inicialmente de manera conjun-
ta entre Microsoft e IBM, hasta que la primera decidi
SunOS fue la versin del sistema operativo derivado de
seguir su camino con su Windows e IBM se ocup en so-
Unix y BSD desarrollado por Sun Microsystems para sus
litario de OS/2.
estaciones de trabajo y servidores hasta el principio de los
aos 1990. sta estaba basada en los UNIX BSD con al- OS/2 ya no es comercializado por IBM, y el soporte es-
gunos aadidos de los System V UNIX en versiones pos- tndar de IBM para OS / 2 se suspendi el 31 de di-
teriores. ciembre de 2006. Se ha mantenido desde entonces con
relativamente pocas nuevas caractersticas bajo el nom-
SunOS 1.0 estaba basada bsicamente en BSD 4.1 y se
bre eComStation.
public en 1982. SunOS 2.0, que sali en 1985, usaba
BSD 4.2 como una base e introduca una capa de sistema
de cheros virtual (VFS) y el protocolo NFS. SunOS 3.0
coincida con el lanzamiento de la serie Sun-3 en 1986 6 La dcada de 1990
e incorporaba varias utilidades de System V. SunOS 4.0,
que sali en 1989, migr a la base de BSD 4.3, introdujo 6.1 BeOS
un nuevo sistema de memoria virtual, enlazamiento din-
mico y una implementacin de la arquitectura System V BeOS es un sistema operativo para PC desarrollado por
STREAMS I/O. Be Incorporated en 1990, orientado principalmente a
SunOS 5.0 y las versiones posteriores estn basadas en proveer alto rendimiento en aplicaciones multimedia. A
UNIX System V Release 4. pesar de la creencia comn fomentada por la inclusin de
la interfaz de comandos Bash en el sistema operativo, el
diseo de BeOS no estaba basado en UNIX.
5.2 MS-DOS Originalmente (1995-1996) el sistema operativo se corra
sobre su propio hardware, conocido como BeBox. Ms
En 1981 Microsoft compr un sistema operativo llamado tarde (1997) fue extendido a la plataforma PowerPC y
QDOS que, tras realizar unas pocas modicaciones, se nalmente (1998) se aadi compatibilidad con procesa-
convirti en la primera versin de MS-DOS (Micro Soft dores x86.
Disk Operating System). A partir de aqu se sucedieron
una serie de cambios hasta llegar a la versin 7.1, versin
8 en Windows Milenium, a partir de la cual MS-DOS dej 6.2 GNU/Linux
de existir como un componente del Sistema Operativo.
Este sistema al parecer es una versin mejorada de Unix,
basado en el estndar POSIX, un sistema que en prin-
5.3 Macintosh cipio trabajaba en modo comandos. Hoy en da dispone
de Ventanas, gracias a un servidor grco y a gestores de
El lanzamiento ocial del ordenador Macintosh en enero ventanas como KDE, GNOME entre muchos. Reciente-
de 1984, al precio de US $1,995 (despus cambiado a mente GNU/Linux dispone de un aplicativo que convier-
$2,495 dlares). Inclua su sistema operativo Mac OS cu- te las ventanas en un entorno 3D como por ejemplo Beryl
4 6 LA DCADA DE 1990

o Compiz. Lo que permite utilizar Linux de una forma nas utilidades bsicas. La versin 6.1[4] trajo importantes
visual atractiva. mejoras como mayor apoyo para dispositivos Bluetooth
Existen muchas distribuciones actuales de Gnu/Linux y controladores para tarjetas de sonido y red.
(Debian, Fedora, Ubuntu, Slackware, etc.) donde todas La versin 7.0, lanzada el 27 de febrero de 2008, incluye
ellas tienen en comn que ocupan el mismo ncleo Linux. compatibilidad con el sistema de archivos ZFS de Sun y
Dentro de las cualidades de Gnu/Linux se puede caracte- a la arquitectura ARM, entre otras novedades.
rizar el hecho de que la navegacin a travs de la web es
La distribucin ms notable es PC-BSD.
sin riegos de ser afectada por virus, esto debido al sistema
de permisos implementado, el cual no deja correr ningu-
na aplicacin sin los permisos necesarios, permisos que 6.6 Microsoft Windows
son otorgados por el usuario. A todo esto se suma que los
virus que vienen en dispositivos desmontables tampoco Windows es el nombre de una familia de sistemas ope-
afectan al sistema, debido al mismo sistema de permisos. rativos desarrollados y vendidos por Microsoft basado
en MS-DOS. Windows nunca fue realmente un Sistema
Operativo con verdadero entorno grco hasta Windows
6.3 Solaris 95. Hasta la versin 3.11 Windows fue un entorno de es-
critorio para MS-DOS.
Solaris es un sistema operativo de tipo Unix desarrollado
desde 1992 inicialmente por Sun Microsystems y actual- Windows 95 es un sistema operativo con interfaz gr-
mente por Oracle Corporation como sucesor de SunOS. ca de usuario hbrido de entre 16 y 32 bits. Fue lanzado
Es un sistema certicado ocialmente como versin de al mercado el 24 de agosto de 1995 por la empresa de
Unix. Funciona en arquitecturas SPARC y x86 para ser- software Microsoft con notable xito de ventas. Durante
vidores y estaciones de trabajo. su desarrollo se conoci como Windows 4 o por el nom-
bre clave Chicago. Esta serie de Windows termin con
Windows Me.
6.4 Microsoft Windows NT

Windows NT es una familia de sistemas operativos pro-


6.7 ReactOS
ducidos por Microsoft, de la cual la primera versin fue
ReactOS (React Operating System) es un sistema opera-
publicada en julio de 1993.
tivo de cdigo abierto destinado a lograr la compatibili-
Previamente a la aparicin del famoso Windows 95 la dad binaria con aplicaciones de software y controladores
empresa Microsoft concibi una nueva lnea de sistemas de dispositivos hechos para Microsoft Windows NT ver-
operativos orientados a estaciones de trabajo y servidor siones 5.x en adelante (Windows XP y sus sucesores).
de red. Un sistema operativo con interfaz grca propia,
En 1996 un grupo de programadores y desarrollado-
estable y con caractersticas similares a los sistemas de
res de software libre comenzaron un proyecto llamado
red UNIX. Las letras NT provienen de la designacin del
FreeWin95 el cual consista en implementar un clon de
producto como Tecnologa Nueva (New Technology).
Windows 95. El proyecto estuvo bajo discusin por el di-
Las versiones publicadas de este sistema son: 3.1, 3.5, seo del sistema ya habiendo desarrollado la capa com-
3.51 y 4.0. Adems, Windows NT se distribua en dos patible con MS-DOS, pero lamentablemente esta fue una
versiones, dependiendo de la utilidad que se le fuera a situacin que no se complet. Para 1997 el proyecto no
dar: Workstation para ser utilizado como estacin de tra- haba lanzado ninguna versin, por lo que los miembros
bajo y Server para ser utilizado como servidor. de ste, coordinados por Jason Filby, pudieron revivir-
lo. Se decidi cambiar el ncleo del sistema compatible
con MS-DOS y de ahora en adelante basarlo en uno com-
6.5 FreeBSD patible con Windows NT, y as el proyecto pudo seguir
adelante con el nombre actual de ReactOS, que comenz
FreeBSD es un sistema operativo multiusuario, capaz de en febrero de 1998, desarrollando las bases del kernel y
efectuar multitarea con apropiacin y multiproceso en algunos drivers bsicos.
plataformas compatibles con mltiples procesadores; el
funcionamiento de FreeBSD est inspirado en la variante
4.4 BSD-Lite de UNIX. Aunque FreeBSD no puede ser 6.8 FreeDOS
propiamente llamado UNIX, al no haber adquirido la de-
bida licencia de The Open Group, FreeBSD s est hecho FreeDOS es un proyecto que aspira a crear un sistema
para ser compatible con la norma POSIX, al igual que operativo libre que sea totalmente compatible con las
varios otros sistemas clones de UNIX. aplicaciones y los controladores de MS-DOS.
El sistema FreeBSD incluye el ncleo, la estructura de El programa ya ha alcanzado un alto grado de madurez y
cheros del sistema, bibliotecas de la API de C, y algu- tiene algunas caractersticas que no existan en MS-DOS.
7.4 Haiku 5

Algunos comandos de FreeDOS son idnticos o mejores 7.4 Haiku


que sus equivalentes de MS-DOS, pero an faltan algunos
del sistema operativo original. Haiku es un sistema operativo de cdigo abierto actual-
mente en desarrollo que se centra especcamente en la
El intrprete de lnea de comandos usado por FreeDOS
informtica personal y multimedia. Inspirado por BeOS
se llama FreeCOM.
(Be Operating System), Haiku aspira a convertirse en un
sistema rpido, eciente, fcil de usar y fcil de apren-
der, sin descuidar su potencia para los usuarios de todos
7 La dcada de 2000 los niveles.

7.1 MorphOS 7.5 OpenSolaris


MorphOS es un sistema operativo, en parte propietario y OpenSolaris fue un sistema operativo libre publicado en
en parte de cdigo abierto, producido para ordenadores 2005 a partir de la versin privativa de Solaris de Sun
basados en los procesadores PowerPC (PPC). El sistema Microsystems, ahora parte de Oracle Corporation. Open-
operativo en s es propietario, pero muchas de sus biblio-
Solaris es tambin el nombre de un proyecto iniciado en
tecas y otros componentes son de cdigo abierto, como 2005 por Sun para construir y desarrollar una comuni-
Ambient (la interfaz del escritorio). La mariposa azul esdad de usuarios alrededor de las tecnologas del sistema
el logo caracterstico de este sistema operativo. Est ba-
operativo del mismo nombre. Despus de la adquisicin
sado en el Microncleo de Quark. de Sun Microsystems, en agosto de 2010, Oracle decidi
interrumpir la publicacin y distribucin de OpenSolaris,
as como su modelo de desarrollo, basado en la disponibi-
7.2 Darwin lidad de versiones de desarrollo compiladas cada dos se-
manas y versiones estables cada seis meses. Sin embargo,
Darwin es el sistema que subyace en Mac OS X, cuya los trminos de su licencia libre no han sido modicados,
primera versin nal sali en el ao 2001 para funcionar por lo que el cdigo fuente afectado por ella ser publica-
en computadoras Macintosh. do cuando Oracle publique nuevas versiones de Solaris.
Integra el microncleo XNU y servicios de sistema ope-
rativo de tipo UNIX basados en BSD 4.4 (en particular
FreeBSD) que proporcionan una estabilidad y un ren- 8 La dcada de 2010
dimiento mayor que el de versiones anteriores de Mac
OS. Se trata de una evolucin del sistema operativo 8.1 IllumOS
NEXTSTEP (basado en Mach 2.5 y cdigo BSD 4.3)
desarrollado por NeXT en 1989 comprado por Apple Illumos es un proyecto de software libre derivado de
Computer en diciembre de 1996. OpenSolaris. Fue anunciado por conferencia web desde
Darwin proporciona al Mac OS X prestaciones moder- Nueva York el 3 de agosto de 2010. El nombre del pro-
nas, como la memoria protegida, la multitarea por des- yecto es un neologismo procedente del latn Illum (la
alojo o expulsiva, la gestin avanzada de memoria y el luz) y de OS (operating system, sistema operativo).
multiproceso simtrico. Se trata del cdigo base a partir del cual cualquiera podr
crear su propia distribucin de software basada en el sis-
tema operativo OpenSolaris. Pero Illumos no es una dis-
7.3 mac OS tribucin, ni una bifurcacin (fork), al menos por el mo-
mento, en la medida que no pretende separarse del tronco
mac OS, antes llamado Mac OS X, es un sistema opera- principal, sino un derivado de la consolidacin OS/Net
tivo basado en Unix, desarrollado, comercializado y ven- (ms conocida como ON), que consiste bsicamente en
dido por Apple Inc. el cdigo fuente del kernel (SunOS), los drivers, los ser-
La primera versin del sistema fue Mac OS X Server 1.0 vicios de red, las bibliotecas del sistema y los comandos
en 1999, y en cuanto al escritorio, fue Mac OS X v10.0 bsicos del sistema operativo.
Cheetah (publicada el 24 de marzo de 2001).
La variante para servidores, Mac OS X Server, es arqui- 8.2 OpenIndiana
tectnicamente idntica a su contraparte para escritorio,
adems de incluir herramientas para administrar grupos OpenIndiana Es un sistema operativo tipo Unix liberado
de trabajo y proveer acceso a los servicios de red. Estas como software libre y de cdigo abierto. Es una bifur-
herramientas incluyen un servidor de correo, un servidor cacin de OpenSolaris concebida despus de la compra
Samba, un servidor LDAP y un servidor de dominio en- de Sun Microsystems por parte de Oracle y tiene como
tre otros. objetivo continuar con el desarrollo y la distribucin del
6 9 REFERENCIAS

cdigo base de OpenSolaris. El proyecto opera bajo el pa-


trocinio de la Illumos Foundation (Fundacin Illumos). El
objetivo declarado del proyecto es convertirse en la dis-
tribucin de OpenSolaris de facto instalada en servidores
de produccin donde se requieren soluciones de seguri-
dad y errores de forma gratuita.

9 Referencias
[1] A Brief History of Linux

[2] Rand Corporation publication by Robert Patrick

[3] Timeline of Computer History: 1956: Software.


Computer History. Consultado el 25 de mayo de 2008.

[4] Scott Long. (8 May 2006). FreeBSD 6.1-RELEASE An-


nouncement. FreeBSD. (en ingls)
7

10 Origen del texto y las imgenes, colaboradores y licencias


10.1 Texto
Historia de los sistemas operativos Fuente: https://es.wikipedia.org/wiki/Historia_de_los_sistemas_operativos?oldid=97757020 Cola-
boradores: JorgeGG, SpeedyGonzalez, Dovidena, Rjbox, Dodo, Ascnder, Pablomdo, Geom, Darz Mol, FAR, Petronas, Airunp, Yrithinnd,
Emijrp, Orgullobot~eswiki, Platonides, Superzerocool, Yrbot, BOT-Superzerocool, Vitamine, Echani, GermanX, Aladiah, Santiperez, Ban-
eld, Morza, Monta990, Er Komandante, Tomatejc, KErosEnE, Boja, Tamorlan, BOTpolicia, CEM-bot, Gabriel Acquistapace, Laura
Fiorucci, Carloszelayeta, Darkpro, Durero, Baiji, Eamezaga, Arklad, Antur, Dorieo, Mamanicesar, Srengel, Tortillovsky, Jileon, Roy-
Focker, Koke0 0, Max Changmin, Will vm, Botones, Cratn, Isha, Mpeinadopa, El loko, Kved, Yamaneko, Muro de Aguas, Iulius1973,
Xavigivax, Cespinoza, TXiKiBoT, Juckar, Millars, Humberto, Netito777, Pabloallo, Sirpuppet, Plux, Jmvkrecords, AlnoktaBOT, Ci-
pin, Cinevoro, VolkovBot, Snakeyes, Technopat, Jiptohej, Galandil, Nicoguaro, Matdrodes, Shooke, Edmenb, Jesusosm, Gh05t2k, Ctrl
Z, Cervantesj, Carmin, Cobalttempest, PIERRE26, Manw, Greek, BuenaGente, Mafores, Buhorya15, Tirithel, Edugonch, Javierito92,
HUB, MetsBot~eswiki, Nicop, Eduardosalg, Leonpolanco, Pan con queso, BetoCG, Jperelli, Jalvarado1381, Spitetests, Rge, Nerika,
UA31, Shalbat, AVBOT, Ellinik, David0811, Aescalona, SunriseProjector, MarcoAurelio, Ezarate, Diegusjaimes, CarsracBot, Arjuno3,
InaBOT, Scooty, Luckas-bot, Mnemotecnia, MystBot, Vic Fede, Jowar~eswiki, MalchikGii, Dvil, SuperBraulio13, Manuelt15, Jkbw,
SassoBot, Toniko580, Dreitmen, Cally Berry, Lolitacortez, FrescoBot, Ricardogpn, Igna, Botarel, Lord Viktor V, BOTirithel, Hprmedi-
na, David533, Jcdy, Halfdrag, Jafeluv, Bolblechi747, Fdelgadillo, Rro4785, PatruBOT, , Puxis, Tarawa1943, Dbfuentes, Foundling,
EmausBot, Savh, AVIADOR, ZroBot, Birrabiere, Hapussai, Sergio Andres Segovia, Grillitus, Rubpe19, MercurioMT, El Ayudante, Khia-
ri, Waka Waka, Frigotoni, Paulaty2015, Antonorsi, MerlIwBot, KLBot2, Talkahe, Sebrev, Gins90, Invadibot, Gohst~eswiki, Gusama
Romero, Vetranio, rico, Elvisor, Santga, Helmy oved, Tsunderebot, Syum90, Miguel2706, IOSEF348, Alan, Lautaro 97, Robert2183, Ja-
cobRodrigues, Laberinto16, Jarould, Crystallizedcarbon, Angel1996acosta, BenjaBot, Elfumetabebedor, Sapristi1000, Sfr570, CAPTAIN
RAJU, AdaraMagario, Kbyc21, ErnesstxD, JESUS ARLEY, ElegansEtFidelis, Pepetope, Ponocho y Annimos: 697

10.2 Imgenes
Archivo:Commons-emblem-question_book_yellow.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/dd/
Commons-emblem-question_book_yellow.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-query.svg' class='image'><img alt='Commons-emblem-query.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/c/c5/Commons-emblem-query.svg/25px-Commons-emblem-query.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/38px-Commons-emblem-query.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/50px-Commons-emblem-query.svg.png
2x' data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg'
class='image'><img alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/25px-Question_book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/
Question_book.svg/38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/50px-Question_book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Linfocito
B

10.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Sistema operativo de red

Un sistema operativo de red, tambin llamado N.O.S Coordina las funciones de red, incluso con las pro-
(del ingls, Network Operating System), es un software pias del equipo.
que permite la interconexin de ordenadores para poder
acceder a los servicios y recursos, hardware y software, Comparte recursos (lleva a cabo la coordinacin y
creando redes de computadoras. Al igual que un equipo los privilegios a la hora de compartir). Por tanto,
no puede trabajar sin un sistema operativo, una red de mejora notablemente la utilizacin de los recursos.
equipos no puede funcionar sin un sistema operativo de Permite monitorizar y gestionar la red y sus compo-
red. Consiste en un software que posibilita la comunica- nentes.
cin de un sistema informtico con otros equipos en el
mbito de una red.
3 Entorno de los sistemas operati-
1 Sistemas operativos de red insta- vos en red
lables/incorporados Componentes de los sistemas operativos de red habituales
son:
Dependiendo del fabricante del sistema operativo de red,
tenemos que el software de red para un equipo personal Servidores: Son equipos con sistemas operativos en
se puede aadir al propio sistema operativo del equipo o red que proporcionan recursos a los clientes, hacin-
venir integrado con l. dolos accesibles a los equipos de la red, sea a otros
MAthSL de Ferchi fue un ejemplo, de amplia difusin, servidores o, habitualmente, a clientes.
de sistema operativo de red donde el Software que le per- Clientes: Son equipos con un sistema operativo mo-
mita trabajar en red se deba instalar en el cliente sobre nopuesto conectados para empezar a trabajar en red.
el sistema operativo del equipo. El equipo personal nece- A diferencia de los servidores, no comparten sus re-
sitaba ambos sistema operativos para gestionar conjunta- cursos.
mente las funciones de red y las individuales.
Dominios: Es una agrupacin lgica de equipos, que
El software del sistema operativo de red se integra en
permite realizar una gestin centralizada, es decir,
un nmero importante de sistemas operativos, inclu-
desde una ubicacin se controla los servicios admi-
yendo: casi todas las distribuciones de Linux; los sis-
nistrativos del dominio. Los recursos los gestiona el
temas operativos de Microsoft y Apple para porttiles,
servidor principal. Uno de los protocolos habituales
servidores y equipos de sobremesa;, sistemas operativos
para la formacin de dominios es LDAP.
de dispositivos mviles, como Android, IOS, Windows
Phone, etc.
Dependiendo del sistema operativo, se puede dar el caso
que en un determinado dominio un equipo sea servidor
de ciertos recursos y cliente de otros.
2 Caractersticas
Las caractersticas genricas de un sistema operativo de 4 Vase tambin
red son:
Comparacin de sistemas operativos
Conecta todos los equipos y recursos de la red. Cronologa de los sistemas operativos
Gestin de usuarios centralizada. Arquitectura de computadores

Proporciona seguridad, controlando el acceso a los Ncleo


datos y recursos. Debe validar los accesos (claves, Lantastic
certicados, sistemas biomtricos, etc.) y ver aplicar
las polticas de seguridad. Active Directory

1
2 5 ENLACES EXTERNOS

5 Enlaces externos
Historia de los sistemas operativos

How Stu Works - Sistemas operativos


3

6 Origen del texto y las imgenes, colaboradores y licencias


6.1 Texto
Sistema operativo de red Fuente: https://es.wikipedia.org/wiki/Sistema_operativo_de_red?oldid=98007338 Colaboradores: Vanbasten
23, Cookie, Barcex, Digigalos, Superzerocool, Unicacion, Folkvanger, Yleon, CEM-bot, Durero, Montgomery, Holimion~eswiki, Snake-
yes, Technopat, Jose gueredo, Matdrodes, Maugemv, SieBot, Loveless, Manw, Tirithel, Marcecoro, Eduardosalg, Leonpolanco, Pan con
queso, Poco a poco, Al Lemos, UA31, Shalbat, AVBOT, Diegusjaimes, Linfocito B, Zeku, Luckas-bot, DiegoFb, SuperBraulio13, Xqbot,
Jkbw, FrescoBot, Torrente, Botarel, Panderine!, RedBot, Wikielwikingo, PatruBOT, Nachosan, AVIADOR, HRoestBot, MadriCR, Tono-
ja, XanaG, Antonorsi, KLBot2, Jorge456, Talkahe, Acratta, Syum90, SKY P, Churrasco italiano, Kareem.rodriguezg, Jarould, Arial 474,
Fernando2812l, Yedagusa y Annimos: 124

6.2 Imgenes

6.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Software de sistema

En terminologa informtica el software de sistema, Si el software de sistema se almacena en una memoria no


denominado tambin software de base, consiste en borrable tal como circuitos integrados, usualmente se lo
un software que sirve para controlar e interactuar con denomina rmware.
el sistema operativo, proporcionando control sobre el
hardware y dando soporte a otros programas; en contra-
posicin del llamado software de aplicacin. Como ejem- 2 Vase tambin
plos cabe mencionar a las bibliotecas, como por ejemplo
OpenGL, para la aceleracin grca; PNG, para el siste-
Sistema operativo
ma grco; o demonios que controlan la temperatura, la
velocidad del disco duro, como hdparm, o la frecuencia Interfaz de programacin de aplicaciones o API.
del procesador como cpudyn.
Biblioteca de programacin
El software de sistema por antonomasia es Microsoft
Windows, que entre todas sus versiones acumula cerca
de un 90% de la cuota de mercado.[1] Mencin especial
merece el proyecto GNU, cuyas herramientas de progra-
3 Referencias
macin permitieron combinarse con el ncleo inform-
tico basado en Unix denominado Linux, formando entre [1] Operating System Market Share. Net Market Share. Net
Applications. febrero de 2012. Consultado el 5 de marzo
ambos las conocidas como distribuciones GNU/Linux. A
de 2012.
diferencia de la plataforma de Microsoft u otros ejemplos
como Mac OS, es software libre.
Estos programas realizan diversas tareas, como la trans-
ferencia de datos entre la memoria RAM y los dispositi-
vos de almacenamiento (disco rgido, unidades de discos
pticos, etc) entre otros.

1 Tipos de software de sistemas


Cargadores de programas

Sistemas operativos (y sus componentes, muchos de


los cuales pueden considerarse como software de
sistema)

Controladores de dispositivos

Herramientas de programacin: compiladores,


ensambladores, enlazadores, etc.

Programas utilitarios

Entorno de escritorio / Interfaz grca de usuario


(que pueden incluir Gestores de ventanas

Lnea de comandos

BIOS

Hipervisores

Bootloaders (Gestor de arranque)

1
2 4 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

4 Origen del texto y las imgenes, colaboradores y licencias


4.1 Texto
Software de sistema Fuente: https://es.wikipedia.org/wiki/Software_de_sistema?oldid=96889035 Colaboradores: Cookie, Balderai, Ai-
runp, Emijrp, Magister Mathematicae, Yrbot, Vitamine, GermanX, Quiron, CHV, Er Komandante, Tomatejc, Paintman, BOTpolicia,
CEM-bot, Gabriel Acquistapace, Pinar~eswiki, Isha, Mansoncc, Gacq, Plux, VolkovBot, Snakeyes, Technopat, Libertad y Saber, Matdro-
des, Autonomia, BlackBeast, Shooke, Lucien leGrey, Komputisto, Loveless, Lucman, BuenaGente, Ivanics, Tirithel, HUB, Nicop, Pixel-
Bot, Eduardosalg, Leonpolanco, Botito777, Furti, Aipni-Lovrij, Camilo, UA31, Shalbat, AVBOT, MarcoAurelio, Diegusjaimes, Arjuno3,
Saloca, Luckas-bot, Alfreedo00, Ptbotgourou, Jotterbot, Vic Fede, SuperBraulio13, Xqbot, Jkbw, Dreitmen, Igna, Botarel, D'ohBot, BOTi-
rithel, Halfdrag, PatruBOT, Ripchip Bot, EmausBot, Savh, Africanus, Grillitus, Rubpe19, Man54fx, EMans, Pitufeta-2011, Mega-buses,
Jemc95, Legobot, Lautaro 97, Addbot, Balles2601, ProfesorGenial, Giliofelix, Adrian silvera, Jarould, Crystallizedcarbon, AlvaroMolina,
Ks-M9 y Annimos: 198

4.2 Imgenes

4.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Aplicacin informtica

programas de comunicacin de datos, multimedia, pre-


sentaciones, diseo grco, clculo, nanzas, correo elec-
trnico, navegador web, compresin de archivos, presu-
puestos de obras, gestin de empresas, etc.
Algunas compaas agrupan diversos programas de dis-
tinta naturaleza para que formen un paquete (llamados
suites o paquetes omticos) que sean satisfactorios pa-
ra las necesidades ms apremiantes del usuario. Todos y
cada uno de ellos sirven para ahorrar tiempo y dinero al
usuario, al permitirle hacer cosas tiles con la compu-
tadora; algunos con ciertas prestaciones, otros con un de-
terminado diseo; unos son ms amigables o fciles de
OpenOce.org Writer ejecutndose en el sistema operativo
usar que otros, pero bajo el mismo principio.
GNU/Linux.
Actualmente, con el uso de dispositivo mviles se ha ex-
En informtica, una aplicacin es un programa infor- tendido el trmino app, que es un acortamiento de la pala-
mtico diseado como herramienta para permitir a un bra inglesa application, y extendida por el xito de la App
usuario realizar uno o diversos tipos de tareas. Esto loStore de Apple. En espaol se desaconseja su uso, pero
diferencia principalmente de otros tipos de programas, de usarla se debe escribir en cursiva[1] , y no se deletrea al
como los sistemas operativos (que hacen funcionar la leerla porque no es una sigla, se pronuncia /ap/, aunque
puede dicultar la pronunciacin de muchas de las pala-
computadora), las utilidades (que realizan tareas de man-
bras que se pronuncien a continuacin al forzar una pausa
tenimiento o de uso general), y las herramientas de desa-
rrollo de software (para crear programas informticos). para pronunciar la p nal que no es algo que se d en
espaol. El acortamiento recomendado de aplicacin
Suele resultar una solucin informtica para la
es apli o su plural aplis, escritas en redonda.
automatizacin de ciertas tareas complicadas, como
pueden ser la contabilidad, la redaccin de documentos,
o la gestin de un almacn. Algunos ejemplos de progra-
mas de aplicacin son los procesadores de textos, hojas 1 Referencias
de clculo, y base de datos.
[1] aplicacin, alternativa a app (en espaol de Espaa).
Ciertas aplicaciones desarrolladas a medida suelen ofre- Consultado el 2017-03-30.
cer una gran potencia ya que estn exclusivamente dise-
adas para resolver un problema especco. Otros, lla-
mados paquetes integrados de software, ofrecen menos
potencia pero a cambio incluyen varias aplicaciones, co- 2 Vase tambin
mo un programa procesador de textos, de hoja de clculo
y de base de datos. Aplicacin web

Aplicacin mvil

Diagrama mostrando la ubicacin y relacin que tienen las apli-


caciones frente al usuario nal, y con otros programas inform-
ticos existentes.

Otros ejemplos de programas de aplicacin pueden ser:

1
2 3 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

3 Origen del texto y las imgenes, colaboradores y licencias


3.1 Texto
Aplicacin informtica Fuente: https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_inform%C3%A1tica?oldid=98157466 Colaborado-
res: Oblongo, Soniautn, Moriel, Sauron, JorgeGG, Robbot, Rosarino, Dodo, Sms, Elwikipedista, Jsanchezes, Geom, Wrcdriver, Cinabrium,
Loco085, Wikier~eswiki, Emijrp, Orgullobot~eswiki, Further (bot), RobotQuistnix, Superzerocool, Chobot, Yrbot, BOT-Superzerocool,
YurikBot, Mortadelo2005, Wewe, KnightRider, FedericoMP, Alex mayorga, Thief12, Chlewbot, Mankeletor, Makahaxi, BOTpolicia,
Qwertyytrewqqwerty, Gabriel Acquistapace, Humaknight, Ggenellina, Thijs!bot, Un Mercenario, Isha, JAnDbot, Jugones55, Antipatico,
TXiKiBoT, Cronos x, MacLahan, Gacq, Humberto, Netito777, Manuel Trujillo Berges, DonBarredora, AlnoktaBOT, Cinevoro, Vol-
kovBot, Snakeyes, Technopat, Edinjo, Eduararley, Matdrodes, BlackBeast, Shooke, Muro Bot, SieBot, PaintBot, SPZ, Pascow, Greek,
Wikixav, Ivanics, DorganBot, XalD, Marcecoro, Aikurn, Eduardosalg, Leonpolanco, BodhisattvaBot, Frei sein, Aipni-Lovrij, Camilo,
UA31, AVBOT, SF007, Speedplus, SpBot, Diegusjaimes, Davidgutierrezalvarez, Sapientisimo, Arjuno3, Lampsako, Ptbotgourou, Jotter-
bot, Hack-Master, Esejes, Briancarloscondenanza, Diogeneselcinico42, SuperBraulio13, Ortisa, Xqbot, Jkbw, Savig, Ricardogpn, Botarel,
Zenapau, Vubo, PatruBOT, KamikazeBot, WikiDeb, Tarawa1943, Edslov, EmausBot, Savh, HRoestBot, TuHan-Bot, Grillitus, Alberto-
juanse, Waka Waka, Antonorsi, MerlIwBot, Nehuen555, R. K. Alvarado, Maquedasahag, Acratta, Helmy oved, 2rombos, Legobot, Fidel
zunino maza, Addbot, Balles2601, Hans Topo1993, Sylas, Jarould, Matiia, Bruno Rene Vargas, Crystallizedcarbon, Lil stephan21, Aramiza,
NinoBot, Fernando2812l, Melkart4k, Juan2503, YAYIIR, Bring your own device y Annimos: 173

3.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
Archivo:OpenOffice.org_Writer.png Fuente: https://upload.wikimedia.org/wikipedia/commons/8/85/OpenOffice.org_Writer.png Li-
cencia: LGPL Colaboradores: http://hacktolive.org/images Artista original: http://hacktolive.org/
Archivo:Util.png Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/Util.png Licencia: CC-BY-SA-3.0 Colaboradores:
Transferido desde es.wikipedia a Commons. Artista original: The original uploader was Willy de Wikipedia en espaol

3.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Llamada al sistema

y el resto del sistema operativo, usualmente una bi-


Application
POSIX-compatible blioteca C como glibc o el runtime de Microsoft C.
tio
n Esta biblioteca maneja los detalles de bajo nivel para
nc
fu alls
c
transferir informacin al kernel y conmutar a modo
supervisor, as como cualquier procesamiento de datos
Linux
memory
manager

Virtual
file
IPC
manager
system
calls
o tareas que deba ser realizada en modo supervisor.
system Linux
process
scheduler Idealmente, esto reduce la dependencia entre el sistema
system

I/O Network
calls
operativo y la aplicacin, e incrementa su portabilidad.
interface interface

fu
nc
ca tion
lls

Linux-specic 3 Ejemplos y herramientas


Application
En los sistemas operativos bajo norma POSIX o similares,
algunas llamadas al sistema muy usadas son open, Read
Las Llamadas al sistema inter ncleo Linux et Glibc.
(system call), write, close, wait, exec, fork, exit y kill. Los
sistemas operativos actuales tienen cientos de llamadas,
En informtica, llamada al sistema (en ingls system por ejemplo Linux 2.x y FreeBSD tienen ms de 300.
call) es el mecanismo usado por una aplicacin para soli-
citar un servicio al sistema operativo.
4 Implementaciones tpicas
1 Mecanismo La implementacin de las llamadas al sistema requiere
un control de transferencia que involucra caractersticas
Las llamadas al sistema comnmente usan una especcas de la arquitectura del procesador. Una for-
instruccin especial de la CPU que causa que el ma tpica de implementar es usar una interrupcin por
procesador transera el control a un cdigo privilegiado software. Linux usa esta implementacin en la arquitec-
(generalmente es el ncleo), previamente especicado. tura x86.
Esto permite al cdigo privilegiado especicar donde va
Para los procesadores con arquitectura RISC, esta es
a ser conectado as como el estado del procesador.
la nica forma, pero arquitecturas CISC como x86 so-
Cuando una llamada al sistema es invocada, la ejecucin portan otras tcnicas adicionales. Un ejemplo es SYS-
del programa que invoca es interrumpida y sus datos son CALL/SYSRE.
guardados, normalmente en su PCB (Bloque de Control
de Proceso del ingls Process Control Block), para poder
continuar ejecutndose luego. El procesador entonces co- 5 Vase tambin
mienza a ejecutar las instrucciones de cdigo de bajo ni-
vel de privilegio, para realizar la tarea requerida. Cuando Glibc
esta naliza, se retorna al proceso original, y contina su
ejecucin. El retorno al proceso demandante no obligato-
riamente es inmediato, depende del tiempo de ejecucin
de la llamada al sistema y del algoritmo de planicacin
6 Enlaces externos
de CPU.
Linux system calls - llamadas al sistema para el ker-
nel Linux 2.6.

2 Las bibliotecas como intermedia- How System Calls Work on Linux/i86


rias Sysenter Based System Call Mechanism in Linux
2.6
Generalmente, los sistemas operativos proveen Tabla de Systems Calls en Windows
bibliotecas que relacionan los programas de usuario

1
2 7 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

7 Origen del texto y las imgenes, colaboradores y licencias


7.1 Texto
Llamada al sistema Fuente: https://es.wikipedia.org/wiki/Llamada_al_sistema?oldid=94595078 Colaboradores: JorgeGG, Davidge, Tai-
chi, Oscar ., GermanX, Tomatejc, Paintman, CEM-bot, Alexav8, Isha, Dogor, JAnDbot, TXiKiBoT, DonBarredora, Raystorm, Matdro-
des, Elabra sanchez, Muro Bot, SieBot, Pascow, Javierito92, Al Lemos, Osado, SilvonenBot, UA31, AVBOT, David0811, Alexman321,
Luckas-bot, LyingB, Papagorila, Xqbot, ZroBot, Elvisor, Dexbot, Angeldefuego22, Addbot, ScotXW, Lagoset, BenjaBot y Annimos:
28

7.2 Imgenes
Archivo:Linux_kernel_System_Call_Interface_and_glibc.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/45/
Linux_kernel_System_Call_Interface_and_glibc.svg Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: ScotXW

7.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Proceso (informtica)

Este artculo se reere al proceso Esta denicin vara ligeramente en el caso de sistemas
informtico, para otros usos vase operativos multihilo, donde un proceso consta de uno o
Proceso. ms hilos, la memoria de trabajo (compartida por todos
los hilos) y la informacin de planicacin. Cada hilo
Un proceso puede informalmente entenderse como un consta de instrucciones y estado de ejecucin.
programa en ejecucin. Formalmente un proceso es Una Los procesos son creados y eliminados por el sistema
unidad de actividad que se caracteriza por la ejecucin operativo, as como tambin ste se debe hacer cargo
de una secuencia de instrucciones, un estado actual, y un de la comunicacin entre procesos, pero lo hace a peti-
conjunto de recursos del sistema asociados.[1] cin de otros procesos (interrupcin o tiempo de reloj).
Para entender lo que es un proceso y la diferencia entre El mecanismo por el cual un proceso crea otro proceso
un programa y un proceso, A. S. Tanenbaum propone la se denomina bifurcacin (fork). El proceso de arranque
analoga Un cientco computacional con mente culina- de GNU/Linux inicia con un slo proceso (init) y despus
ria hornea un pastel de cumpleaos para su hija; tiene la comienza a crear los hilos necesarios para tener el sistema
receta para un pastel de cumpleaos y una cocina bien listo para su uso. Los nuevos procesos pueden ser inde-
equipada con todos los ingredientes necesarios, harina, pendientes y no compartir el espacio de memoria con el
huevo, azcar, leche, etctera. Situando cada parte de la proceso que los ha creado o ser creados en el mismo es-
analoga se puede decir que la receta representa el progra- pacio de memoria.
ma (el algoritmo), el cientco computacional es el pro- En los sistemas operativos multihilo es posible crear tan-
cesador y los ingredientes son las entradas del programa. to hilos como procesos. La diferencia estriba en que un
El proceso es la actividad que consiste en que el cient- proceso solamente puede crear hilos para s mismo y en
co computacional vaya leyendo la receta, obteniendo los que dichos hilos comparten toda la memoria reservada
ingredientes y horneando el pastel. para el proceso.
Cada proceso tiene su contador de programa, registros Los procesos pueden ser cooperativos o independientes.
y variables, aislados de otros procesos, incluso siendo el Dos o ms procesos pueden cooperar mediante seales
mismo programa en ejecucin 2 veces. Cuando este l- de forma que uno obliga a detenerse a los otros hasta que
timo caso sucede, el sistema operativo usa la misma re- reciban una seal para continuar.
gin de memoria de cdigo, debido a que dicho cdigo
no cambiar, a menos que se ejecute una versin distinta
Se usa una variable de tipo semforo para sincroni-
del programa.
zar los procesos.
Los procesos son gestionados por el sistema operativo y
estn formados por: Si un proceso est esperando una seal, se suspende
hasta que la seal se enve.
Las instrucciones de un programa destinadas a ser
Se mantiene una cola de procesos en espera en el
ejecutadas por el microprocesador.
semforo.
Su estado de ejecucin en un momento dado, esto
es, los valores de los registros de la unidad central La forma de elegir los procesos de la cola en espera
de procesamiento para dicho programa. es mediante una poltica rst in rst out.

Su memoria de trabajo (memoria crtica), es decir, La sincronizacin explcita entre procesos es un caso par-
la memoria que ha reservado y sus contenidos. ticular del estado bloqueado. En este caso, el suceso que
permite desbloquear un proceso no es una operacin de
Otra informacin que permite al sistema operativo
entrada/salida, sino una seal generada a propsito por el
su planicacin.
programador desde otro proceso.

Un proceso se rige en pequeas porciones, conocidas co- Hay cuatro eventos principales que provocan la creacin
mo pginas, y cada proceso tiene su propia tabla de pa- de procesos:
ginacin, fungiendo como una optimizacin del sistema
operativo ante los fallos de pgina. El arranque del sistema.

1
2 3 ESTADOS DE UN PROCESO

La ejecucin, desde un proceso, de una llamada al Error fatal, ste sucede por un error en el programa, como
sistema para la creacin de otro proceso. las divisiones entre 0 o requerimiento de memoria inac-
cesible.
Una peticin de usuario para crear un proceso.
Eliminado por otro proceso, ste es sumamente til cuan-
El inicio de un trabajo por lotes. do un proceso se queda colgado, es decir, sin terminar,
pero tampoco responde. En Unix un ejemplo es cuando
se utiliza el comando kill para terminar procesos abrup-
Los procesos pueden contener uno o ms hilos, hacien-
tamente.
do ms eciente las tareas, asimismo la complejidad de
los algoritmos de sincronizacin, ya que podra ocurrir la
condicin de carrera muy a menudo, inclusive los inde-
seados interbloqueos. 3 Estados de un proceso
Los estados de un proceso obedecen a su participacin y
1 Creacin de un proceso disponibilidad dentro del sistema operativo y surgen de la
necesidad de controlar la ejecucin de cada proceso. Los
procesadores slo pueden ejecutar un solo proceso a la
Bsicamente hasta el da de hoy existen slo 4 formas de
vez, turnndolos para el uso de ste. Existen procesos no
crear un proceso:
apropiativos o cooperativos que bsicamente ocupan todo
el tiempo del procesador hasta que ellos deciden dejarlo.
Arranque del sistema. Los procesos apropiativos son aquellos que ocupan por
un perodo de tiempo el procesador hasta que una inte-
En la ejecucin, desde un proceso, de una llamada
rrupcin o seal llega al procesador para hacer el cambio
al sistema para la creacin del proceso.
de proceso, a esto se le conoce como cambio de contexto.
Una peticin deliberada del usuario para crear un Los posibles estados que puede tener un proceso son eje-
proceso. cucin, bloqueado y listo:

El inicio de un trabajo por lotes.


Ejecucin, es un proceso que est haciendo uso del
procesador.
La forma de creacin de procesos en Unix es a travs de
una llamada al sistema fork la cual crear un proceso hijo Bloqueado, No puede ejecutarse hasta que un evento
en total semejanza al padre, hasta que el recin proceso externo sea llevado a cabo.
decida cambiar su imagen en memoria, incluso obtener
sus propios descriptores de archivos abiertos. Listo, ha dejado disponible al procesador para que
otro proceso pueda ocuparlo.

2 Terminacin de un proceso Las posibles transiciones son 4. La primera se realiza


cuando el sistema operativo determina que el proceso no
puede continuar justo en ese momento, en algunos siste-
El ciclo de vida de un proceso es sencillo, consta de la
mas se puede hacer una llamada al sistema pause para
creacin, la ejecucin de instrucciones y la terminacin.
pasar al estado bloqueado, en Unix cuando el proceso est
Cabe sealar que un proceso en el transcurso de su ciclo
leyendo datos provenientes de una canalizacin o de un
puede estar en diferentes estados.
archivo especial (terminal) y no hay entrada disponible,
el proceso se bloquea de forma automtica.
Salida normal.
Las transiciones 2 y 3 son llevadas a cabo por el plani-
Salida por error. cador de procesos, siendo que el proceso no tiene conoci-
miento de ste. La transicin 2 se da cuando el planica-
Error fatal. dor de procesos decide que el proceso ya estuvo el tiem-
po suciente en ejecucin y debe dar paso a la ejecucin
Eliminado por otro proceso. de otros procesos (adquieran tiempo del procesador). La
transicin 3 se realiza cuando todos los procesos han ocu-
Salida normal, sta se presenta cuando el proceso termi- pado tiempo del procesador y debe retomarse el primer
na de forma voluntaria, por ejemplo, cuando se cierra en proceso.
navegador web o el procesador de textos. La transicin 4 ocurre cuando se produce un evento ex-
Salida por error, sta se presenta cuando el proceso tie- terno por el que un proceso estaba en espera, por ejem-
ne que salir debido a insuciencia de datos, por ejemplo, plos, introducir datos desde la terminal. Si no hay otro
cuando solicita un archivo que no existe. proceso en ejecucin en ese instante, la transicin 3 se
3

activa y el proceso comienza a ejecutarse; tambin po-


dra pasar al estado de listo y esperar un momento para
iniciar la ejecucin.

4 Tipos de procesos
Existen dos tipos de procesos, aquellos que se ejecutan en
modo kernel y aquellos que se ejecutan en modo usuario.
Los primeros son ms lentos por las llamadas al sistema
que realizan, sin embargo, son ms seguros por la inte-
gridad que representan. Cuando hablamos de los proce-
sos de usuario, podemos decir que el sistema operativo
podra no ser multiproceso, ya que se vale de libreras
(como pthread) para hacer un multiplexado y dar la apa-
riencia de trabajar como multiproceso.
Podra pensarse en otra clasicacin, como son los pro-
cesos en primer plano y procesos en segundo plano. Los
primeros interactan con el usuario, es decir, el usuario
proporciona los datos que el proceso utilizar. Los segun-
dos, son creados para tareas bien denidas y no necesitan
la intervencin del usuario, por ejemplo, se puede tener
un proceso en segundo plano para revisar la temperatura
del disco duro constantemente, stos tambin son cono-
cidos como demonios.[cita requerida]

5 Vase tambin
Memoria virtual

Multiproceso
Unix

Paginacin

6 Referencias
[1] Stallings 5 edicin pag. 109

7 Bibliografa
Tanenbaum, Andrew S. (2009). 2 Procesos e hilos. Sis-
temas operativos modernos (3 edicin). Prentice Hall. p.
1076. [[Categora:Sistemas operativos y mas))
4 8 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

8 Origen del texto y las imgenes, colaboradores y licencias


8.1 Texto
Proceso (informtica) Fuente: https://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica)?oldid=97204773 Colaboradores: Lourdes
Cardenal, ManuelGR, Robbot, Ecelan, Triku, Renacimiento, Jsanchezes, Yakoo, Rodrigouf, Emijrp, Magister Mathematicae, Afpineda,
Yrbot, Martincarr, Wewe, Mriosriquelme, Tomatejc, BOTpolicia, CEM-bot, Jorgelrm, GoyoToscano, Thijs!bot, RoyFocker, Isha, Dogor,
Gusgus, JAnDbot, Jugones55, Achata, CommonsDelinker, Humberto, Idioma-bot, Sebado, DonBarredora, Cipin, Cinevoro, VolkovBot,
Technopat, Raystorm, Matdrodes, Elabra sanchez, Shooke, Muro Bot, SieBot, Furado, Tirithel, Jarisleif, Javierito92, MetsBot~eswiki,
Lyonn, Aleix87, PixelBot, Leonpolanco, Netito, VanBot, UA31, AVBOT, Hemingway10, Diegusjaimes, Whibla, Andreasmperu, Luckas-
bot, Servando rivera, SuperBraulio13, Jkbw, S3rg10p3l1gr0, Ricardogpn, Botarel, BOTirithel, Lanreload, PatruBOT, EmausBot, Savh,
Ebrambot, Jcaraballo, WikitanvirBot, Movses-bot, Heradiom, MerlIwBot, Gohst~eswiki, Acratta, Creosota, Rauletemunoz, Legobot, Hans
Topo1993, Oscawilma, Jsmura, Jarould, Kperdomo1, Crystallizedcarbon y Annimos: 154

8.2 Imgenes
Archivo:Commons-emblem-question_book_yellow.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/dd/
Commons-emblem-question_book_yellow.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-query.svg' class='image'><img alt='Commons-emblem-query.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/c/c5/Commons-emblem-query.svg/25px-Commons-emblem-query.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/38px-Commons-emblem-query.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Commons-emblem-query.svg/50px-Commons-emblem-query.svg.png
2x' data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg'
class='image'><img alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/25px-Question_book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/
Question_book.svg/38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.
svg/50px-Question_book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Linfocito
B

8.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Servicio de Windows
Un servicio de Windows es un programa de ordenador que funciona en segundo
plano.1 Es similar en concepto a un demonio Unix.1 Un servicio de Windows debe ajustarse
a las normas y protocolos de interfaz del Service Control Manager, el componente
responsable de la gestin de servicios de Microsoft Windows.2
Los servicios de Windows se pueden configurar para comenzar cuando se inicia el sistema
operativo y ejecutarse en segundo plano mientras se ejecuta el sistema operativo.
Alternativamente, se pueden iniciar manualmente o por un evento. Los sistemas operativos
Windows incluyen numerosos servicios que se ejecutan en el contexto de tres cuentas de
usuario: sistema, servicio de red y servicio local. Estos componentes de Windows a
menudo se asocian con procesos de host para servicios de Windows. Debido a que los
servicios de Windows funcionan en el contexto de sus propias cuentas de usuario
dedicadas, pueden operar cuando un usuario no ha iniciado sesin.
Antes de Windows Vista, los servicios instalados como un "servicio interactivo" podran
interactuar con Windows de escritorio y mostrar una interfaz grfica de usuario. En
Windows Vista, sin embargo, los servicios interactivos estn en desuso y puede que no
funcione correctamente, como resultado del endurecimiento de servicios de Windows.3 4

Administracin
Los administradores de Windows pueden gestionar los servicios a travs de:

El complemento de Servicios (que se encuentra en Herramientas administrativas en


el Panel de Control de Windows).
Sc.exe
Windows PowerShell
Complemento de Servicios
El complemento de Servicios, construido sobre la Microsoft Management Console, puede
conectarse al equipo local o un equipo remoto de la red, lo que permite a los usuarios:1

Ver una lista de servicios instalados junto con el nombre del servicio, descripciones y
configuracin.
Iniciar, detener, pausar o reiniciar los servicios.5
Especificar los parmetros de servicio, en su caso.
Cambiar el tipo de inicio. Tipos de inicio aceptables incluyen:
Automtico: el servicio comienza en el inicio del sistema.
Automtico (en diferido): el servicio se inicia poco despus de que el sistema haya
terminado de arrancar. Esta opcin se introdujo en Windows Vista en un intento de
reducir el tiempo de arranque en el escritorio. Sin embargo, no todos los servicios
soportan el inicio con retraso.6
Manual: el servicio se inicia slo cuando se le llame explcitamente.
Desactivado: El servicio est deshabilitado. No va a funcionar.
Cambiar el contexto de la cuenta de usuario en el que opera el servicio.
Configurar las acciones de recuperacin que se deben tomar si un servicio falla.
Inspeccionar las dependencias de servicio, descubrir qu servicios o controladores de
dispositivo dependen de un determinado servicio o sobre que dependen servicio
dependen los servicios o controladores de dispositivo.
Exportar la lista de servicios como un archivo de texto o como un archivo CSV.
Sc.exe
La pareja en la lnea de comandos del complemento de Servicios es sc.exe, la utilidad "de
control de servicios".7 Esta utilidad se incluye con Windows XP8 y posteriores versiones.9
La esfera de accin de Sc.exe se limita al equipo local. Sin embargo, a partir de Windows
Server 2003, Sc.exe no slo puede hacer todo lo que hace el complemento Servicios en s,
sino que tambin puede instalar y desinstalar los servicios.9

Windows PowerShell
Windows PowerShell puede gestionar intrnsecamente servicios de Windows a travs de
los siguientes cmdlets:

Get-Service10
New-Service11
Restart-Service12
Resume-Service13
Set-Service14
Start-Service15
Stop-Service16
Suspend-Service17
Otras herramientas de gestin
Adems del tro compuesto por el complemento, sc.exe y PowerShell, Windows tambin
incluye componentes que pueden hacer un subconjunto de lo que el tro puede hacer.
Net.exe puede iniciar, detener, pausar o reanudar un servicio de Windows.18 En Windows
Vista y versiones posteriores, el Administrador de tareas puede mostrar una lista de
servicios instalados y comenzarlos o detenerlos. MSConfig puede activar o desactivar
(vase la descripcn hecha anteriormente sobre de tipos de inicio anterior) servicios de
Windows.

Desarrollo
Un servicio de Windows se creado usando herramientas de desarrollo como Microsoft
Visual Studio o Embarcadero Delphi. Con el fin de que sea un servicio de Windows, se
debe escribir un programa de una manera tal que puede manejar los mensajes de inicio,
deteccin y pausa del Service Control Manager (Administrador de Control de Servicios). el
Service Control Manager es un componente de Windows que se encarga de iniciar y
detener servicios.
El Kit de recursos de Windows para Windows NT 3.51, Windows NT 4.0 y Windows 2000
proporciona herramientas para controlar el uso y registro de servicios: Srvany.exe acta
como un contenedor de servicio para manejar la interfaz esperada de un servicio (por
ejemplo, manejar service_start y responder en algn momento ms adelante con
service_started o service_failed) y permitir que cualquier ejecutable o script pueda ser
configurado como un servicio. sc.exe (Control Service) permite que nuevos servicios se
instalen, inicien, detengan o desinstalen.19
Demonio (informtica)

Un demonio (nomenclatura usada en sistemas UNIX y acceder. Otro ejemplo son los demonios cronolgicos
UNIX-like), servicio (nomenclatura usada en Windows) como cron, que realizan tareas programadas como man-
o programa residente (nomenclatura usada en MS- tenimiento del sistema en segundo plano.
DOS) es un tipo especial de proceso informtico no in-
teractivo, es decir, que se ejecuta en segundo plano en vez
de ser controlado directamente por el usuario. Este tipo 1 Vase tambin
de programas continua en el sistema, es decir, que puede
ser ejecutado en forma persistente o reiniciado si se in-
Bootstrapping (informtica)
tenta matar el proceso dependiendo de la conguracin
del demonio y de las polticas del sistema. Servidor

0.1 Historia
2 Referencias
Los programas demonios reciben este nombre en los siste-
mas UNIX. En otros sistemas existen procesos similares [1] http://www.takeourword.com/TOW146/page4.html
como los TSRs de MS-DOS o los servicios de Windows. [2] http://www.takeourword.com/TOW129/page2.html
Segn una investigacin realizada por Richard Steinberg,
la palabra daemon fue utilizada en 1963 por primera
vez, en el rea de la informtica, para denominar a un
proceso que realizaba backups en unas cintas. Este pro-
ceso se utiliz en el proyecto MAC del MIT y en una
computadora IBM 7094.[1] Dicho proyecto estaba lidera-
do por Fernando J. Corbat, quien arma que se bas en
el demonio de James Maxwell, este daemon era una espe-
cie de vigilante que resida en medio de un recipiente di-
vidido en dos, lleno de molculas. El vigilante o daemon
se encargaba de permitir, dependiendo de la velocidad de
la molcula, que stas pasaran de un lado al otro. Los dae-
mons de las computadoras actan muy similar al daemon
de Maxwell, pues realizan acciones segn el comporta-
miento y algunas condiciones del sistema.[2]

0.2 Caractersticas
Los demonios suelen tener las siguientes caractersticas:

No disponen de una interfaz directa con el usuario,


ya sea grca o textual.
No hacen uso de las entradas y salidas estndar pa-
ra comunicar errores o registrar su funcionamiento,
sino que usan archivos del sistema en zonas especia-
les (/var/log/ en los UNIX ms modernos) o utilizan
otros demonios especializados en dicho registro co-
mo el syslogd.

Por ejemplo, una mquina que alberga un servidor web


utilizar un daemon httpd (HTTP Daemon) para ofre-
cer el servicio y que los visitantes a dicha web puedan

1
2 3 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

3 Origen del texto y las imgenes, colaboradores y licencias


3.1 Texto
Demonio (informtica) Fuente: https://es.wikipedia.org/wiki/Demonio_(inform%C3%A1tica)?oldid=95720216 Colaboradores: Mdia-
gom, Aloriel, Dodo, Bafomet, LadyInGrey, Alexwing, Airunp, JMPerez, Edub, Hari Seldon, Malkavian, LeCire, RobotQuistnix, Yrbot,
YurikBot, KnightRider, The Photographer, FedericoMP, Eskimbot, Chlewbot, CEM-bot, Alexav8, Thijs!bot, VARGUX, EstebanMonge,
Isha, Frecano, JAnDbot, ColdWind, Moscar, Nioger, Plux, AchedDamiman, AlnoktaBOT, Aibot, Jose gueredo, Shooke, Amitie 10g,
Muro Bot, SieBot, Farisori, Botito777, Cronoster, AVBOT, AlguzarA, Riad.Bot~eswiki, SuperBraulio13, Jkbw, Rubinbot, Botarel, Ver-bot,
Lungo, KamikazeBot, TjBot, EmausBot, AVIADOR, ZroBot, ChessBOT, Esmito, Grillitus, Elas, ChuispastonBot, Odrade, Federicotg,
Abraham Toriz Cruz, Dexbot, Addbot, Gmol01, NinoBot, Gonzalillo wiki y Annimos: 45

3.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701

3.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Multiprocesamiento

Multiprocesamiento o multiproceso es el uso de dos


o ms procesadores (CPU) en una computadora para la
ejecucin de uno o varios procesos (programas corrien-
do). Algunas personas, en el idioma espaol hacen sin-
nimo este trmino con el de multitareas (del ingls mul-
titasking) el cual consiste en la ejecucin de uno o ms
procesos concurrentes en un sistema. As como la mul-
titarea permite a mltiples procesos compartir una nica
CPU, mltiples CPU pueden ser utilizados para ejecutar
mltiples procesos o mltiples hilos (threads) dentro de
un nico proceso.
Los algoritmos que utilizan los sistemas operativos para
aprovechar los procesadores han sido ampliamente estu-
diados en libros clsicos como el de Madnick y Donovan,
el de Andrew S. Tanenbaum y el de Abraham Silbers-
chatz, entre otros.

1 Vase tambin
Multiprocesamiento simtrico
Multitarea

1
2 2 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

2 Origen del texto y las imgenes, colaboradores y licencias


2.1 Texto
Multiprocesamiento Fuente: https://es.wikipedia.org/wiki/Multiprocesamiento?oldid=97541541 Colaboradores: Rferrero, PACO, Wing-
Master, GermanX, Chlewbot, Max Changmin, Antipatico, TXiKiBoT, Fixertool, Matdrodes, Furti, Shalbat, Luckas-bot, Vic Fede, Lgr811,
SuperBraulio13, Xqbot, Jkbw, PatruBOT, ArwinJ, EmausBot, WikitanvirBot, Chetas, AvocatoBot, Pepitomojnsio, Addbot, PanDaGirl, Ni-
noBot y Annimos: 21

2.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701

2.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Multiprocesamiento simtrico

En computacin, SMP (del ingls Symmetric Multi- En un entorno de multiproceso simtrico, las CPU com-
Processing, en espaol multiproceso simtrico) es un parten la misma memoria, y como resultado, el cdigo
tipo de arquitectura de computadores en la que dos o que corre en una CPU puede afectar a la memoria usada
ms unidades de procesamiento comparten una nica por otra. No se puede estar seguro de que una variable
memoria central. que se ha establecido a un cierto valor en la lnea anterior
todava tenga el mismo valor dado que la otra CPU pue-
de modicar el valor de la variable. Es importante por lo
tanto considerar estos casos e implementar mecanismos
1 Explicacin detallada para evitarlos (vase seccin crtica).
En el caso de la programacin de procesos esto no suele
La arquitectura SMP (tambin llamada UMA, del ingls ser un problema, porque un proceso normalmente slo se
Uniform Memory Access, en espaol acceso uniforme ejecutar en una CPU a la vez. El ncleo, sin embargo,
a memoria) se caracteriza por el hecho de que varias podra ser llamado por diferentes procesos ejecutndose
unidades de procesamiento comparten el acceso a la me- en CPUs diferentes.
moria, compitiendo en igualdad de condiciones por dicho
acceso, de ah la denominacin simtrico. En la versin 2.0.x de Linux, esto no es un problema por-
que el ncleo entero est en un gran `spinlock'. Esto sig-
Los sistemas SMP permiten que cualquier procesador nica que si una CPU est dentro del ncleo y otra CPU
trabaje en cualquier tarea sin importar su localizacin en quiere entrar en l, por ejemplo por una llamada al sis-
memoria; con un propicio soporte del sistema operativo, tema, tiene que esperar hasta que la primera CPU haya
estos sistemas pueden mover fcilmente tareas entre los acabado. Esto es lo que hace el SMP en Linux: es seguro,
procesadores para garantizar ecientemente el trabajo. pero ineciente.
Una computadora SMP se compone de microprocesado-
res independientes que se comunican con la memoria a
travs de un bus compartido. Dicho bus es un recurso de 3 Vase tambin
uso comn. Por tanto, debe ser arbitrado para que so-
lamente un microprocesador lo use en cada instante de multiprocesamiento
tiempo. Si las computadoras con un nico microprocesa-
dor tienden a gastar considerable tiempo esperando a que
lleguen los datos desde la memoria, SMP empeora esta
situacin, ya que hay varios parados en espera de datos.

2 Conceptos relacionados

Arquitectura NUMA

Una de las formas ms fciles y baratas de aumentar el


rendimiento del hardware es poner ms de una CPU en la
placa. Esto se puede realizar haciendo que CPUs diferen-
tes tengan trabajos diferentes (multiproceso asimtrico)
o haciendo que todos se ejecuten en paralelo, realizan-
do el mismo trabajo (multiproceso simtrico o SMP). El
hacer multiproceso asimtrico requiere un conocimiento
especializado sobre las tareas que la computadora debe
ejecutar, que no es fcilmente discernible en un sistema
operativo de propsito general como Linux. En cambio
el multiproceso simtrico es relativamente fcil de im-
plementar.

1
2 4 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

4 Origen del texto y las imgenes, colaboradores y licencias


4.1 Texto
Multiprocesamiento simtrico Fuente: https://es.wikipedia.org/wiki/Multiprocesamiento_sim%C3%A9trico?oldid=96975911 Colabo-
radores: Porao, Ecemaml, Taichi, Magister Mathematicae, RobotQuistnix, Afpineda, Yrbot, FlaBot, GermanX, Baneld, Juan Antonio
Cordero, Sanchezbures, Alexav8, Arklad, Resped, Thijs!bot, Gaston, RoyFocker, JAnDbot, Antipatico, Wybot, Plux, VolkovBot, Mat-
drodes, Gerakibot, Loveless, Jarisleif, Aipni-Lovrij, AVBOT, David0811, MarcoAurelio, Diegusjaimes, DumZiBoT, FariBOT, DSisyph-
Bot, MartinDM, Xqbot, Jkbw, Rubinbot, Botarel, BenzolBot, EmausBot, HRoestBot, Grillitus, Elas, WikitanvirBot, Rezabot, MerlIwBot,
Elvisor, Santga, Addbot, Mikrokosmos, JacobRodrigues, Matiascelasco, NinoBot y Annimos: 31

4.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701

4.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Multitarea

1.2 Apropiativa o preferente


El sistema operativo es el encargado de administrar el/los
procesador(es) repartiendo el tiempo de uso entre los pro-
cesos que estn esperando para utilizarlo. Cada proceso
utiliza el procesador durante lapsos cortos, pero el re-
sultado nal es virtualmente igual a ejecutarse todo al
mismo tiempo. Ejemplos de sistemas de este tipo seran
Unix y sus derivados (FreeBSD, Linux), VMS y deriva-
dos, AmigaOS, Windows NT.

Linux Mint, Xfce, Firefox, calculadora, calendario, Vim, GIMP


y VLC media player en marcha. 1.3 Real
Solo se da en sistemas con multiprocesador; varios pro-
La multitarea es la caracterstica de los sistemas opera- cesos se ejecutan realmente al mismo tiempo en distintos
tivos modernos de permitir que varios procesos o aplica- microprocesadores; suele ser tambin preferente. Ejem-
ciones se ejecuten aparentemente al mismo tiempo, com- plos de sistemas operativos con esa capacidad: variantes
partiendo uno o ms procesadores. de Unix, Windows NT, Mac OS X.
Los sistemas operativos multitarea son capaces de dar
servicio a ms de un proceso a la vez para permitir la
ejecucin de muchos ms programas. 2 Vase tambin
En esta categora tambin se encuentran todos los siste-
mas que cumplen simultneamente las necesidades de dos Multiusuario
o ms usuarios llamados sistemas multiusuario que
compartan los mismos recursos. Este tipo de sistemas se Multiseat
emplea especialmente en redes. En resumen, se trata de Tiempo compartido
fraccionamiento del tiempo (timesharing en ingls).

1 Tipos de multitarea

1.1 Cooperativa

El sistema operativo da el control a un proceso, y es este


el que cede de nuevo el control pasando a estar en espe-
ra cuando decide voluntariamente que no puede seguir su
ejecucin. Al depender del propio proceso en ejecucin
puede ser problemtica, puesto que si el proceso de usua-
rio se interrumpe y no cede la CPU al sistema operativo,
todo el sistema quedar bloqueado, es decir, sin poder ha-
cer nada. Da lugar tambin a latencias muy irregulares y
la imposibilidad de tener en cuenta este esquema en siste-
mas operativos de tiempo real. Las versiones de Windows
desde la 3 hasta el 95, todas ejecutadas bajo MS.DOS
realmente por lo que no son autnticos Sistemas Operati-
vos sino aadidos sobre el mismo, son un ejemplo de este
tipo de Sistema Operativo Multitarea.

1
2 3 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

3 Origen del texto y las imgenes, colaboradores y licencias


3.1 Texto
Multitarea Fuente: https://es.wikipedia.org/wiki/Multitarea?oldid=96948889 Colaboradores: JorgeGG, Digital-h, ManuelGR, Robbot,
Hyto, Gmagno, Sms, Rsg, Renabot, Taichi, Rembiapo pohyiete (bot), RobotQuistnix, FlaBot, Vitamine, YurikBot, GermanX, KnightRider,
Raidentk, Bufalo 1973, Ll33ee, CEM-bot, Guerrero.estevez, Thijs!bot, Isha, Mpeinadopa, JAnDbot, TXiKiBoT, NaBUru38, ColdWind,
Gacq, DonBarredora, Cinevoro, Aibot, VolkovBot, Technopat, Galandil, Matdrodes, SieBot, Marcelo, Relleu, Jarisleif, Javierito92, Nicop,
PixelBot, Estirabot, Eduardosalg, Leonpolanco, UA31, AVBOT, MarcoAurelio, Holaychau028, Diegusjaimes, DumZiBoT, CarsracBot,
Javu61, Arjuno3, Andreasmperu, Luckas-bot, Roinpa, Nixn, SuperBraulio13, Almabot, Ortisa, Xqbot, Jkbw, FrescoBot, Mctpyt, Botarel,
Panderine!, D'ohBot, Luis Fernando Nuez Hernandez, PatruBOT, Dinamik-bot, Dark Bane, Wikilptico, Edslov, EmausBot, Savh, Sergio
Andres Segovia, Rubpe19, Waka Waka, WikitanvirBot, Ruos, Antonorsi, MerlIwBot, Vagobot, Jemmyf, Milton Sandoval, Harpagornis,
Santga, Elialbert94, Elpi-tote, Addbot, Balles2601, Ariel234, Jarould, Matiia, NinoBot, IHIOBI y Annimos: 120

3.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
Archivo:Desktop-Linux-Mint.png Fuente: https://upload.wikimedia.org/wikipedia/commons/4/41/Desktop-Linux-Mint.png Licencia:
CC BY-SA 4.0 Colaboradores: Trabajo propio Artista original: Benjamintf1

3.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Memoria virtual

Virtual address space Physical address space de la combinacin entre hardware especial y el sistema
operativo hace uso de la memoria principal y la secunda-
0x00000000
0x00010000 ria para hacer parecer que el ordenador tiene mucha ms
memoria principal (RAM) que la que realmente posee.
text 0x00000000
Este mtodo es invisible a los procesos. La cantidad de
memoria mxima que se puede hacer ver que hay tiene
0x10000000 que ver con las caractersticas del procesador. Por ejem-
plo, en un sistema de 32 bits, el mximo es 232 , lo que da
data
4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo
del programador de aplicaciones mucho ms fcil, al po-
der ignorar completamente la necesidad de mover datos
entre los distintos espacios de memoria.
Aunque la memoria virtual podra estar implementada
por el software del sistema operativo, en la prctica casi
0x00ffffff
siempre se usa una combinacin de hardware y software,
stack
page belonging to process dado el esfuerzo extra que implicara para el procesador.
0x7fffffff page not belonging to process

Cmo la memoria virtual se mapea a la memoria fsica. 1 Operacin bsica


Cuando se usa memoria virtual, o cuando una direccin es
La memoria virtual es una tcnica de gestin de la memo-
leda o escrita por la CPU, una parte del hardware dentro
ria que permite que el sistema operativo disponga, tanto
de la computadora traduce las direcciones de memoria
para el software de usuario como para s mismo, de mayor
generadas por el software (direcciones virtuales) en:
cantidad de memoria que est disponible fsicamente. La
mayora de los ordenadores tienen cuatro tipos de memo-
ria: registros en la CPU, la memoria cach (tanto dentro la direccin real de memoria (la direccin de me-
como fuera del CPU), la memoria RAM y el disco duro. moria fsica).
En ese orden, van de menor capacidad y mayor velocidad
a mayor capacidad y menor velocidad. una indicacin de que la direccin de memoria
deseada no se encuentra en memoria principal (lla-
Muchas aplicaciones requieren acceso a ms informacin
mado excepcin de memoria virtual)
(cdigo y datos) que la que se puede mantener en memo-
ria fsica. Esto es as sobre todo cuando el sistema ope-
rativo permite mltiples procesos y aplicaciones ejecu- En el primer caso, la referencia a la memoria es completa-
tndose simultneamente. Una solucin al problema de da, como si la memoria virtual no hubiera estado involu-
necesitar mayor cantidad de memoria de la que se po- crada: el software accede donde deba y sigue ejecutando
see consiste en que las aplicaciones mantengan parte de normalmente. En el segundo caso, el sistema operativo
su informacin en disco, movindola a la memoria prin- es invocado para manejar la situacin y permitir que el
cipal cuando sea necesario. Hay varias formas de hacer programa siga ejecutando o aborte segn sea el caso. La
esto. memoria virtual es una tcnica para proporcionar la si-
Una opcin es que la aplicacin misma sea responsable de mulacin de un espacio de memoria mucho mayor que
decidir qu informacin ser guardada en cada sitio (seg- la memoria fsica de una mquina. Esta ilusin permi-
mentacin), y de traerla y llevarla. La desventaja de esto, te que los programas se ejecuten sin tener en cuenta el
adems de la dicultad en el diseo e implementacin del tamao exacto de la memoria fsica.
programa, es que es muy probable que los intereses sobre La ilusin de la memoria virtual est soportada por el me-
la memoria de dos o varios programas generen conictos canismo de traduccin de memoria, junto con una gran
entre s: cada programador podra realizar su diseo te- cantidad de almacenamiento rpido en disco duro. As en
niendo en cuenta que es el nico programa ejecutndose cualquier momento el espacio de direcciones virtual hace
en el sistema. La alternativa es usar memoria virtual, don- un seguimiento de tal forma que una pequea parte de l,

1
2 2 DETALLES

est en memoria fsica y el resto almacenado en el disco, Justo despus de obtener la direccin fsica, y antes
y puede ser referenciado fcilmente. de consultar el dato en memoria principal, se busca en
Debido a que slo la parte de memoria virtual que es- memoria-cache. Si est entre los datos recientemente usa-
t almacenada en la memoria principal es accesible a la dos, la bsqueda tendr xito, pero si falla, la memoria
CPU, segn un programa va ejecutndose, la proximidad virtual consultar la memoria principal , en el peor de
de referencias a memoria cambia, necesitando que algu- los casos, el disco (swapping).
nas partes de la memoria virtual se traigan a la memoria
principal desde el disco, mientras que otras ya ejecuta-
das, se pueden volver a depositar en el disco (archivos de 2 Detalles
paginacin).
La memoria virtual ha llegado a ser un componente esen- La traduccin de las direcciones virtuales a reales es
cial de la mayora de los sistemas operativos actuales. Y implementada por una Unidad de Manejo de Memoria
como en un instante dado, en la memoria slo se tienen (MMU). El sistema operativo es el responsable de de-
unos pocos fragmentos de un proceso dado, se pueden cidir qu partes de la memoria del programa es mante-
mantener ms procesos en la memoria. Es ms, se aho- nida en memoria fsica. Adems mantiene las tablas de
rra tiempo, porque los fragmentos que no se usan no se traduccin de direcciones (si se usa paginacin la tabla
cargan ni se descargan de la memoria. Sin embargo, el se denomina tabla de paginacin), que proveen las rela-
sistema operativo debe saber cmo gestionar este esque- ciones entre direcciones virtuales y fsicas, para uso de
ma. la MMU. Finalmente, cuando una excepcin de memo-
La memoria virtual tambin simplica la carga del pro- ria virtual ocurre, el sistema operativo es responsable de
grama para su ejecucin, llamada reubicacin, este pro- ubicar un rea de memoria fsica para guardar la infor-
cedimiento permite que el mismo programa se ejecute en macin faltante, trayendo la informacin desde el disco,
cualquier posicin de la memoria fsica. actualizando las tablas de traduccin y nalmente conti-
nuando la ejecucin del programa que dio la excepcin de
En un estado estable, prcticamente toda la memoria memoria virtual desde la instruccin que caus el fallo.
principal estar ocupada con fragmentos de procesos, por
lo que el procesador y el S.O tendrn acceso directo a En la mayora de las computadoras, las tablas de traduc-
la mayor cantidad de procesos posibles, y cuando el S.O cin de direcciones de memoria se encuentran en memo-
traiga a la memoria un fragmento, deber expulsar otro. ria fsica. Esto implica que una referencia a una direccin
Si expulsa un fragmento justo antes de ser usado, tendr virtual de memoria necesitar una o dos referencias para
que traer de nuevo el fragmento de manera casi inmedia- encontrar la entrada en la tabla de traduccin, y una ms
ta. Demasiados intercambios de fragmentos conducen a para completar el acceso a esa direccin.
lo que se conoce como hiperpaginacin: donde el proce- Para acelerar el desempeo de este sistema, la mayora
sador consume ms tiempo intercambiando fragmentos de las Unidades Centrales de Proceso (CPU) incluyen una
que ejecutando instrucciones de usuario. Para evitarlo el MMU en el mismo chip, y mantienen una tabla de las tra-
sistema operativo intenta adivinar, en funcin de la his- ducciones de direcciones virtuales a reales usadas recien-
toria reciente, qu fragmentos se usarn con menor pro- temente, llamada Translation Lookaside Buer (TLB).
babilidad en un futuro prximo (vase algoritmos de re- El uso de este buer hace que no se requieran referencias
emplazo de pginas). de memoria adicionales, por lo que se ahorra tiempo al
Los argumentos anteriores se basan en el principio de traducir.
cercana de referencias o principio de localidad que ar- En algunos procesadores, esto es realizado enteramente
ma que las referencias a los datos y el programa dentro de por el hardware. En otros, se necesita de la asistencia del
un proceso tienden a agruparse. Por lo tanto, es vlida la sistema operativo: se levanta una excepcin, y en ella el
suposicin de que, durante cortos perodos de tiempo, se sistema operativo reemplaza una de las entradas del TLB
necesitarn slo unos pocos fragmentos de un proceso. con una entrada de la tabla de traduccin, y la instruccin
Una manera de conrmar el principio de cercana es con- que hizo la referencia original a memoria es reejecutada.
siderar el rendimiento de un proceso en un entorno de El hardware que tiene soporte para memoria virtual, la
memoria virtual. mayora de la veces tambin permite proteccin de me-
El principio de cercana sugiere que los esquemas de me- moria. La MMU puede tener la habilidad de variar su
moria virtual pueden funcionar. Para que la memoria vir- forma de operacin de acuerdo al tipo de referencia a me-
tual sea prctica y efectiva, se necesitan dos ingredientes. moria (para leer, escribir, o ejecutar), as como el modo
Primero, tiene que existir un soporte de hardware y, en en que se encontraba el CPU en el momento de hacer la
segundo lugar, el S.O debe incluir un software para ges- referencia a memoria. Esto permite al sistema operati-
tionar el movimiento de pginas o segmentos entre me- vo proteger su propio cdigo y datos (como las tablas de
moria secundaria y memoria principal. traduccin usadas para memoria virtual) de corromperse
por una aplicacin, y de proteger a las aplicaciones que
podran causar problemas entre s.
3

3 Paginacin y memoria virtual


La memoria virtual usualmente (pero no necesariamente)
es implementada usando paginacin. En paginacin, los
bits menos signicativos de la direccin de memoria vir-
tual son preservados y usados directamente como los bits
de orden menos signicativos de la direccin de memoria
fsica. Los bits ms signicativos son usados como una
clave en una o ms tablas de traduccin de direcciones
(llamadas tablas de paginacin), para encontrar la parte
restante de la direccin fsica buscada.

4 Vase tambin
Paginacin
4 5 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

5 Origen del texto y las imgenes, colaboradores y licencias


5.1 Texto
Memoria virtual Fuente: https://es.wikipedia.org/wiki/Memoria_virtual?oldid=93779442 Colaboradores: JorgeGG, Dianai, Mandramas,
Mnts, Richy, Yurik, Yonghokim, Rembiapo pohyiete (bot), Magister Mathematicae, Orgullobot~eswiki, Murven, RobotQuistnix, Platoni-
des, Unf, Alhen, Chobot, Caiserbot, Yrbot, Amads, Baito, Martincarr, YurikBot, Mortadelo2005, Icvav, GermanX, KnightRider, San-
tiperez, Eskimbot, Camima, Chlewbot, Tomatejc, Nihilo, Paintman, Mirkovich, BOTpolicia, CEM-bot, Laura Fiorucci, Alexav8, Eli22,
Antur, Ggenellina, Cfvergara, Egaida, Xoneca, VanKleinen, Wybot, Iulius1973, TXiKiBoT, Plux, DonBarredora, VolkovBot, Technopat,
Matdrodes, Ximatz, Muro Bot, Loveless, Jorjum, Ken123BOT, BuenaGente, Mafores, Mceli, HUB, Panypeces, Alexbot, AVBOT, Diegus-
jaimes, MelancholieBot, Ptbotgourou, Nixn, Toctoc10, SuperBraulio13, Jkbw, Rubinbot, Torrente, Botarel, Jakeukalane, Vubo, Abece,
PatruBOT, Tarawa1943, Foundling, EmausBot, HRoestBot, Sergio Andres Segovia, Ebrambot, AvicBot, Helmy oved, Un Tal Alex.., Cris-
tian carreo 2012, Addbot, Lweb20, Jarould y Annimos: 125

5.2 Imgenes
Archivo:Virtual_address_space_and_physical_address_space_relationship.svg Fuente: https://upload.wikimedia.org/wikipedia/
commons/3/32/Virtual_address_space_and_physical_address_space_relationship.svg Licencia: BSD Colaboradores: en:Image:Virtual
address space and physical address space relationship.png Artista original: Traced by User:Stannered, original by en:User:Dysprosia

5.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Unix

las primeras versiones contaban con un pobre rendimien-


to. Los laboratorios Bell de AT&T decidieron desvincu-
larse y dedicar sus recursos a otros proyectos.
Uno de los programadores de los laboratorios Bell, Ken
Thompson, sigui trabajando para la computadora GE-
635[5] y escribi un juego llamado Space Travel,[6][7]
(Viaje espacial). Sin embargo, descubri que el juego era
lento en la mquina de General Electric y resultaba real-
mente caro, algo as como 75 dlares de EE.UU. por cada
partida.
De este modo, Thompson escribi nuevamente el pro-
Unix (registrado ocialmente como UNIX) es un grama, con ayuda de Dennis Ritchie, en lenguaje ensam-
sistema operativo portable, multitarea y multiusuario; blador, para que se ejecutase en una computadora DEC
desarrollado, en principio, en 1969, por un grupo de em- PDP-7. Esta experiencia, junto al trabajo que desarroll
pleados de los laboratorios Bell de AT&T, entre los que para el proyecto Multics, condujo a Thompson a iniciar
guran Dennis Ritchie, Ken Thompson y Douglas McIl- la creacin de un nuevo sistema operativo para la DEC
roy.[1][2] PDP-7.[8] Thompson y Ritchie lideraron un grupo de pro-
gramadores, entre ellos a Rudd Canaday, en los labora-
El sistema, junto con todos los derechos fueron vendi-
torios Bell, para desarrollar tanto el sistema de cheros
dos por AT&T a Novell, Inc. Esta vendi posteriormen-
como el sistema operativo multitarea en s. A lo anterior,
te el software a Santa Cruz Operation en 1995, y esta, a
agregaron un intrprete de rdenes (o intrprete de co-
su vez, lo revendi a Caldera Software en 2001, empresa
mandos) y un pequeo conjunto de programas. El pro-
que despus se convirti en el grupo SCO. Sin embargo,
yecto fue bautizado UNICS, como acrnimo Uniplexed
Novell siempre argument que solo vendi los derechos
Information and Computing System, pues solo prestaba
de uso del software, pero que retuvo el copyright sobre
servicios a dos usuarios (de acuerdo con Andrew Tanen-
UNIX". En 2010, y tras una larga batalla legal, sta ha
baum, era solo a un usuario[9]
pasado nuevamente a ser propiedad de Novell.[3]
Hasta ese instante, no haba existido apoyo econmico
Solo los sistemas totalmente compatibles y que se en-
por parte de los laboratorios Bell, pero eso cambi cuan-
cuentran certicados por la especicacin Single UNIX
do el Grupo de Investigacin en Ciencias de la Compu-
Specication pueden ser denominados UNIX" (otros
tacin decidi utilizar UNIX en una mquina superior a la
reciben la denominacin similar a un sistema Unix o
PDP-7. Thompson y Ritchie lograron cumplir con la so-
similar a Unix). En ocasiones, suele usarse el trmino
licitud de agregar herramientas que permitieran el proce-
Unix tradicional para referirse a Unix o a un sistema
samiento de textos a UNIX en una mquina PDP-11/20,
operativo que cuenta con las caractersticas de UNIX
y como consecuencia de ello consiguieron el apoyo eco-
Versin 7 o UNIX System V.
nmico de los laboratorios Bell. Fue as como por vez
primera, en 1970, se habla ocialmente del sistema ope-
rativo UNIX[10] ejecutado en una PDP-11/20. Se inclua
1 Historia en l un programa para dar formato a textos (runo) y
un editor de texto. Tanto el sistema operativo como los
A nales de la dcada de 1960, el Instituto Tecnolgico de programas fueron escritos en el lenguaje ensamblador de
Massachusetts, los Laboratorios Bell de AT&T y General la PDP-11/20. Este sistema de procesamiento de texto
Electric trabajaban en un sistema operativo experimen- inicial, compuesto tanto por el sistema operativo como de
tal llamado Multics (Multiplexed Information and Com- runo y el editor de texto, fue utilizado en los laboratorios
puting Service),[4] desarrollado para ejecutarse en una Bell para procesar las solicitudes de patentes que ellos
computadora central (mainframe) modelo GE-645. El reciban. Pronto, runo evolucion hasta convertirse en
objetivo del proyecto era desarrollar un gran sistema ope- tro, el primer programa de edicin electrnica que per-
rativo interactivo que contase con muchas innovaciones, mita realizar composicin tipogrca. El 3 de noviem-
entre ellas mejoras en las polticas de seguridad. El pro- bre de 1971 Thomson y Ritchie publicaron un manual de
yecto consigui dar a luz versiones para produccin, pero programacin de UNIX (ttulo original en ingls: UNIX

1
2 2 FAMILIAS UNIX MS SIGNIFICATIVAS

Programmers Manual).[11] desarroll un ncleo para computadoras con arquitectura


En 1972 se tom la decisin de escribir nuevamente x86 de Intel que emulaba muchas de las funcionalidades
UNIX, pero esta vez en el lenguaje de programacin de UNIX y lo lanz en forma de cdigo abierto en 1991,
C.[12] Este cambio signicaba que UNIX podra ser f- bajo el nombre de Linux. En 1992, el Proyecto GNU co-
cilmente modicado para funcionar en otras computado- menz a utilizar el ncleo Linux junto a sus programas.
ras (de esta manera, se volva portable) y as otras varia- En 1993, la compaa Novell adquiri la divisin Unix
ciones podan ser desarrolladas por otros programadores. Systems Laboratories de AT&T junto con su propiedad
Ahora, el cdigo era ms conciso y compacto, lo que se intelectual.[15] Esto ocurri en un momento delicado en el
tradujo en un aumento en la velocidad de desarrollo de que Unix Systems Laboratories disputaba una demanda en
UNIX. AT&T puso a UNIX a disposicin de universi- los tribunales contra BSD por infraccin de los derechos
dades y compaas, tambin al gobierno de los Estados de copyright, revelacin de secretos y violacin de marca
Unidos, a travs de licencias.[13] Una de estas licencias de mercado.[16]
fue otorgada al Departamento de Computacin de la Uni- Aunque BSD gan el juicio, Novell descubri que gran
versidad de California, con sede en Berkeley.[13] En 1975 parte del cdigo de BSD fue copiada ilegalmente en
esta institucin desarroll y public su propio sucedneo UNIX System V. En realidad, la propiedad intelectual
de UNIX, conocida como Berkeley Software Distribution de Novell se reduca a unos cuantos archivos fuente.[16]
(BSD), que se convirti en una fuerte competencia para La correspondiente contra-demanda acab en un acuerdo
la familia UNIX de AT&T. extrajudicial cuyos trminos permanecen bajo secreto a
Mientras tanto, AT&T cre una divisin comercial de- peticin de Novell.
nominada Unix Systems Laboratories para la explotacin A nales de 1993, Novell vendi su divisin UNIX
comercial del sistema operativo. El desarrollo prosigui, comercial[15] (es decir, la antigua Unix Systems Laborato-
con la entrega de las versiones 4, 5 y 6[14] en el transcur-
ries) a Santa Cruz Operation (SCO) reservndose, aparen-
so de 1975. Estas versiones incluan los pipes o tuberas, temente, algunos derechos de propiedad intelectual sobre
lo que permiti dar al desarrollo una orientacin modular
el software.[17] Xinuos (antes UnXis) contina la comer-
respecto a la base del cdigo, consiguiendo aumentar an cializacin de System V en su producto UnixWare tras
ms la velocidad de desarrollo. Ya en 1978, cerca de 600
adquirir a SCO en abril de 2011.
o ms mquinas estaban ejecutndose con alguna de las
distintas encarnaciones de UNIX.
La versin 7,[14] la ltima versin del UNIX original con
amplia distribucin, entr en circulacin en 1979. Las
2 Familias UNIX ms signicati-
versiones 8, 9 y 10[14] se desarrollaron durante la dcada vas
de 1980, pero su circulacin se limit a unas cuantas uni-
versidades, a pesar de que se publicaron los informes que
AT&T: la familia que tuvo su origen en el UNIX
describan el nuevo trabajo. Los resultados de esta inves-
de AT&T. Considerada la familia UNIX pura y
tigacin sirvieron de base para la creacin de Plan 9 from
original. Sus sistemas operativos ms signicativos
Bell Labs, un nuevo sistema operativo portable y distri-
son UNIX System III y UNIX System V.
buido, diseado para ser el sucesor de UNIX en investi-
gacin por los Laboratorios Bell.
BSD: familia originada por el licenciamiento de
AT&T entonces inici el desarrollo de UNIX System III, UNIX a Berkely. BSD se reescribi para no incor-
basado en la versin 7, como una variante de tinte co- porar propiedad intelectual originaria de AT&T en
mercial y as venda el producto de manera directa. La la versin 4. La primera implementacin de los pro-
primera versin del sistema III se lanz en 1981.[14] A tocolos TCP/IP que dieron origen a Internet son la
pesar de lo anterior, la empresa subsidiaria Western Elec- pila (stack) TCP/IP BSD.
tric segua vendiendo versiones antiguas de Unix basa-
das en las distintas versiones hasta la sptima. Para nali- AIX: Esta familia surge por el licenciamiento de
zar con la confusin con todas las versiones divergentes, UNIX System III a IBM.
AT&T decidi combinar varias versiones desarrolladas
en distintas universidades y empresas, dando origen en Xenix: familia derivada de la adquisicin de los de-
1983 al Unix System V Release 1.[14] Esta versin pre- rechos originales de AT&T primero por parte de
sent caractersticas tales como el editor Vi y la bibliote- Microsoft y de esta los vendi a SCO.
ca curses, desarrolladas por Berkeley Software Distribu-
tion en la Universidad de California, Berkeley. Tambin GNU: En 1983, Richard Stallman anunci el
contaba con compatibilidad con las mquinas VAX de la Proyecto GNU, un ambicioso esfuerzo para crear un
compaa DEC. sistema similar a Unix, que pudiese ser distribuido
libremente. El software desarrollado por este pro-
Hacia 1991, un estudiante de ciencias de la computacin
yecto -por ejemplo, GNU Emacs y GCC - tambin
de la Universidad de Helsinki, llamado Linus Torvalds
han sido parte fundamental de otros sistemas UNIX.
3

Linux: En 1991, cuando Linus Torvalds empez a X [el cual, en su versin 10.5 ya ha alcanzado la certica-
proponer el ncleo Linux y a reunir colaboradores, cin UNIX], FreeBSD, NetBSD, OpenBSD), los cuales
las herramientas GNU eran la eleccin perfecta. Al no buscan la certicacin UNIX por resultar cara para
combinarse ambos elementos, conformaron la base productos destinados al consumidor nal o que se distri-
del sistema operativo (basado en POSIX), que hoy buyen libremente en Internet. En estos casos, el trmino
se conoce como GNU/Linux. Las distribuciones ba- se suele escribir como UN*X, UNIX*", "*NIX, o
sadas en el ncleo, el software GNU y otros agrega- "*N?X. Para referirse a ellos (tanto a Unix, como a los
dos entre las que se pueden mencionar a Slackware sistema basados en Unix/POSIX) tambin se utiliza Uni-
Linux, Red Hat Linux y Debian GNU/Linux se xes, pero Unices (que trata la palabra Unix como un
han hecho populares tanto entre los acionados a la nombre latino de la tercera declinacin) es asimismo po-
computacin como en el mundo empresarial. Obsr- pular.
vese que Linux tiene un origen independiente, por
lo que se considera un 'clnico' de UNIX y no un
UNIX en el sentido histrico. 4 Implementaciones ms impor-
tantes
Las interrelaciones entre estas familias son las siguientes,
aproximadamente en orden cronolgico:
A lo largo de la historia ha surgido una gran multitud de
implementaciones comerciales de UNIX. Sin embargo,
La familia BSD surge del licenciamiento del UNIX un conjunto reducido de productos han consolidado el
original de AT&T. mercado y prevalecen gracias a un continuo esfuerzo de
desarrollo por parte de sus fabricantes. Los ms impor-
Xenix tambin surge por licenciamiento del UNIX
tantes son:
original de AT&T, aunque an no era propiedad de
SCO.
Solaris de Sun Microsystems. Uno de los sistemas
AIX surge por licenciamiento de UNIX System operativos Unix ms difundidos en el entorno em-
III, pero tambin incorpora propiedad intelectual de presarial y conocido por su gran estabilidad. Parte
BSD. del cdigo fuente de Solaris se ha liberado con li-
cencia de fuentes abiertas (OpenSolaris).
La familia original AT&T incorpora ilegalmente
AIX de IBM. El UNIX propietario de IBM cum-
propiedad intelectual de BSD en UNIX System III
pli 20 aos de vida en el 2006 y contina en pleno
r3.
desarrollo, con una perceptible herencia del main-
La familia AIX vuelve a incorporar propiedad inte- frame en campos como la virtualizacin o la RAS
lectual de la familia AT&T, esta vez procedente de de los servicios, heredada de sus hermanos mayo-
UNIX System V. res.
HP-UX de Hewlett-Packard. Este sistema operativo
Linux incorpora propiedad intelectual de BSD, gra- tambin naci ligado a las computadoras departa-
cias a que ste tambin se libera con una licencia de mentales de este fabricante. Tambin es un sistema
cdigo abierto denominada Open-source BSD. operativo estable que continua en desarrollo.
Segn SCO Group, Linux incorpora propiedad inte- macOS. Se trata de un UNIX completo, aprobado
lectual procedente de AIX, gracias a la colaboracin por The Open Group. Su diferencia marcada es que
de IBM en la versin 2.4, mas an no est demos- posee una interfaz grca propietaria llamada Aqua,
trado, hay un proceso judicial al respecto: Disputas y es principalmente desarrollada en Objective-C en
de SCO sobre Linux. lugar de C o C++.

Existen sistemas operativos basados en el ncleo Linux,


3 La marca y el conjunto de aplicaciones GNU (tambin denominado
GNU/Linux), entre las ms utilizadas encontramos:
UNIX es una marca registrada de Novell, despus de una Red Hat Enterprise Linux. Cuyo fabricante Red Hat
disputa con The Open Group en Estados Unidos y otros es conocido por su amplia gama de soluciones y
pases. Esta marca solo se puede aplicar a los sistemas aportes al desarrollo de software libre. Apoya el
operativos que cumplen la "Single Unix Specication" de proyecto Fedora del cual se benecia y de ella se de-
esta organizacin y han pagado las regalas establecidas. rivan distribuciones compatibles como Oracle En-
En la prctica, el trmino UNIX se utiliza en su acep- terprise Linux y CentOS, tambin distribuciones co-
cin de familia. Se aplica tambin a sistemas multiusua- mo Mandriva Linux, se bas en una de sus primeras
rio basados en POSIX (tales como GNU/Linux, Mac OS versiones.
4 7 REFERENCIAS

SUSE Linux de Novell. Originalmente liberado por Procesamiento de textos: echo cat grep sort uniq sed
la compaa alemana SuSE. Es popular por sus he- awk tail head.
rramientas de administracin centralizada. De ma-
nera anloga a RedHat con Fedora, apoya el proyec- Comparacin de archivos: comm cmp di patch.
to openSUSE.
Administracin del sistema: chmod chown ps nd
xargs sd w who.
Debian GNU/Linux. Con una de las comunidades
ms grandes y antiguas del movimiento de software Comunicacin: mail telnet ssh ftp nger rlogin.
libre, es base para distribuciones como Xandros,
Mepis, Linspire y Ubuntu. Shells: sh csh ksh.

Documentacin: man.
Tambin son populares los sistemas operativos descen-
dientes del 4.4BSD:
Esta es una lista de los sesenta comandos de usuario de la
seccin 1 de la Primera Edicin:
FreeBSD. Quiz el sistema operativo ms popular
de la familia, de propsito mltiple. Con una imple-
ar as b bas bcd boot cat chdir check chmod
mentacin SMP muy elaborada, es el sistema ope-
chown cmp cp date db (Unix) dbppt dc df
rativo utilizado por los servidores de Yahoo. Y base
dsw dtf du ed nd for form hup lbppt ld ln ls
de muchos sistemas operativos entre ellos Mac OS
mail mesg mkdir mkfs mount mv nm od pr
X de Apple.
rew (Unix) rkd rkf rkl rm rmdir ro sdate
OpenBSD. Ampliamente reconocida por su segu- sh stat strip (Unix) su sum tap (Unix) tm tty
ridad proactiva y auditora permanente del cdigo type un wc who write
fuente. Es utilizada en ambientes donde la seguridad
prima sobre todo, es usual encontrarlo instalado en Otros comandos
servidores que actan como Firewall, VPN o Proxy.

NetBSD. Se le conoce por su portabilidad, a octubre Tiempo: cal


de 2008: 53 arquitecturas soportadas. La NASA lo
ha utilizado para la investigacin en redes TCP/IP
satelitales, al igual que para reciclar computadoras 6 Vase tambin
viejas con software moderno.
Jerarqua de directorios en sistemas tipo UNIX
Las siguientes implementaciones de UNIX tienen impor-
tancia desde el punto de vista histrico, no obstante, ac- The Open Group
tualmente estn en desuso:
Xinuos

Tru64 UNIX actualmente de Hewlett-Packard (an- BSD


tes de Compaq y originalmente de Digital Equip-
ment Corporation). OS X de Apple

UnixWare y SCO OpenServer anteriormente de GNU/Linux


Santa Cruz Operation y SCO Group, ahora de
Xinuos (UnXis). Anexo:Programas para Unix (Lista de programas para
Unix)
UX/4800 de NEC.
Plan 9 from Bell Labs
IRIX de Silicon Graphics Inc..

7 Referencias
5 rdenes clsicas de UNIX
[1] Bell Labs. The Creation of the UNIX* Operating System.
Algunos comandos bsicos de UNIX son: (en ingls)

[2] Bell Labs. THE UNIX ORAL HISTORY PROJECT. Edited


Navegacin/creacin de directorios/archivos: ls cd and Transcribed by Michael S. Mahoney. Princeton Uni-
pwd mkdir rm rmdir cp. versity. Princeton, New Jersey (en ingls).

Edicin/visin de archivos: touch more ed vi nano. [3] Unix pertenece a Novell. El Pas. 31 de marzo de 2010.
5

[4] Bell Labs. Before Multics there was chaos, and afterwards, Wikilibros alberga un libro o manual sobre
too The Creation of the UNIX* Operating System. (en Hacks para sistemas operativos Unix-like.
ingls)
Sistemas Unix del Open Group
[5] Bell Labs. The famous PDP-7 comes to the rescue The
Creation of the UNIX* Operating System. (en ingls)

[6] Dennis M. Ritchie (September 1979) The Evolution of the


Unix Time-sharing System Bell Labs. 1996.. Lucent Tech-
nologies Inc. (en ingls).

[7] Dennis M. Ritchie Thompsons Space Travel Game Bell


Labs. 2001. Lucent Technologies Inc. (en ingls).

[8] Bell Labs. The UNIX system begins to take shape The Crea-
tion of the Unix Operating System (en ingls).

[9] Tanenbaum, Andrew S. (20 May 2004) Some Notes on the


Who wrote Linux Kerfue, Release 1.5 Departament of
Computer Science, Vrije Universiteit, Amsterdam (en in-
gls)./ref>). La autora de esta sigla se le atribuye a Brian
Kernighan, ya que era un hack de Multics. Dada la popu-
laridad que tuvo un juego de palabras que consideraba a
UNICS un sistema MULTICS castrado (pues eunuchs, en
ingls, es un homfono de UNICS), se cambi el nombre
a UNIX, dando origen al legado que llega hasta nuestros
das.<ref>Bell Labs. It looked like an operating system, al-
most The Creation of the UNIX* Operating System. (en
ingls)

[10] Bell Labs. Porting UNIX for its rst commercial application
The Creation of the UNIX* Operating System (en ingls).

[11] Dennis M. Ritchie Unix Programmers Manual, First Edi-


tion (1971) Bell Labs. Lucent Technologies Inc. (en in-
gls).

[12] Bell Labs. From B language to NB to C The Creation of


the UNIX* Operating System. (en ingls)

[13] Bell Labs. Sharing UNIX with the rest of the world The
Creation of the UNIX* Operating System (en ingls).

[14] Bell Labs. Early versions of the UNIX* system The Crea-
tion of the UNIX* Operating System. (en ingls)

[15] The Creation of the UNIX* Operating System: UNIX


moves on (en ingls). Archivado desde el original el 29
de noviembre de 2015. Consultado el 14 de septiembre de
2011.

[16] La colorida historia del UNIX. Consultado el 14 de sep-


tiembre de 2011.

[17] Novell, Inc. Press Release (20 September 1995) HP, No-
vell and SCO To Deliver High-Volume UNIX OS With Ad-
vanced Network And Enterprise Services Novell, Inc. New
York. (en ingls)

8 Enlaces externos

Wikimedia Commons alberga contenido multi-


media sobre Unix. Commons

Wikilibros
6 9 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

9 Origen del texto y las imgenes, colaboradores y licencias


9.1 Texto
Unix Fuente: https://es.wikipedia.org/wiki/Unix?oldid=98340425 Colaboradores: Maveric149, Macar~eswiki, Jamesrave, Zuirdj, Pino,
4lex, Pjimenez, Sauron, JorgeGG, ManuelGR, Nikai, Angus, Sanbec, Aparejador, Zwobot, Comae, Aloriel, Interwiki, Rosarino, Sam
Hocevar, Dodo, Jynus, Sms, Cookie, Tostadora, Tano4595, Ramjar, Murphy era un optimista, Csuarez, Jecanre, Rondador, Cinabrium,
Balderai, Alexan, Boticario, Juansempere, Soulreaper, JMPerez, Hari Seldon, Emijrp, Rembiapo pohyiete (bot), RedTony, OMenda, Or-
gullobot~eswiki, RobotQuistnix, ManoloKosh, Platonides, Unf, Alhen, Superzerocool, Caiserbot, Afpineda, Unicacion, Yrbot, BOT-
Superzerocool, Martincarr, FlaBot, Vitamine, Dangarcia, YurikBot, Museo8bits, Icvav, Huds, Willtron, The Photographer, Dr Juzam, Ka-
bri, C-3POrao, Heliocrono, Baneld, Maldoror, Kaser, Lancaster, Tomatejc, Lolost, BOTpolicia, CEM-bot, Gabriel Acquistapace, Damifb,
Laura Fiorucci, Kojie, -jem-, Alexav8, Kai670, Xexito, Roberpl, Fanjio, Gafotas, Montgomery, FrancoGG, Grindkore, Thijs!bot, Alvaro
qc, Xabier, VARGUX, Mahadeva, RoyFocker, Max Changmin, Botones, Cratn, Isha, Bernard, Arcibel, Dogor, R Ruiz, Kved, Mandra-
ke33, Muro de Aguas, CommonsDelinker, TXiKiBoT, Luis junco, ColdWind, Gacq, Netito777, Amanuense, Chabbot, Idioma-bot, Plux,
DonBarredora, VolkovBot, Technopat, C'est moi, Queninosta, Josell2, Matdrodes, Synthebot, BlackBeast, Shooke, Lucien leGrey, 3co-
ma14, Muro Bot, Peregring-lk, YonaBot, SieBot, Ensada, Macarrones, Carmin, Carolingio93, BOTarate, Ihuhnix, Deshgloshe, Raul.lara,
Belb, Pla y Grande Covin, MarcRe, Nicop, DragonBot, Veon, JackPier, Leonpolanco, 672, LordT, Furti, CestBOT, Darkicebot, Aipni-
Lovrij, ALE99, UA31, Renanqd, AVBOT, Ellinik, A ver, Tanhabot, Diegusjaimes, Linfocito B, Arjuno3, Andreasmperu, Luckas-bot,
Nallimbot, Jotterbot, Vic Fede, Jorge 2701, Ezecad, Finderlog, Toni Oriol, SuperBraulio13, Xqbot, Jkbw, Serolillo, Dossier2, Fresco-
Bot, Botarel, Gualdozapdos, Hprmedina, Halfdrag, RedBot, Marsal20, AnselmiJuan, Adrgs, Marjuanm, Rro4785, Eduardobora, Yadira
uv, PatruBOT, KamikazeBot, Canyq, Nessa los, Wikypedista, Adriansm, Wikilptico, Axvolution, EmausBot, Savh, AVIADOR, Sergio
Andres Segovia, 03mario, Grillitus, MercurioMT, Jcaraballo, ChuispastonBot, Waka Waka, WikitanvirBot, Diamondland, FernandoMoc-
tejara, Fernandoxxx, MerlIwBot, Gcosta87, Ni.cero, Gins90, Tximitx, Jr JL, Elvisor, 2rombos, Patty2014, La sejona mono, Lautaro 97,
Tuareg50, Addbot, Balles2601, Jossebosse, Hans Topo1993, Mare Marginis, Arkantos13, Ournutella, 49 legnA, SECURE TW, Bryan
tu papi, Jarould, Matiia, Crystallizedcarbon, Su chile el pea, Gonzalo Rodriguez Zabala, Holahhh, Melkart4k, Ignaciogu, Esteuconco,
ElegansEtFidelis, Virponchi y Annimos: 412

9.2 Imgenes
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
Archivo:Unix_based.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/d9/Unix_based.jpg Licencia: Public domain Cola-
boradores: ? Artista original: ?
Archivo:Wikibooks-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/f/fa/Wikibooks-logo.svg Licencia: CC BY-SA
3.0 Colaboradores: Trabajo propio Artista original: User:Bastique, User:Ramac et al.

9.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Paginacin de memoria

En sistemas operativos de computadoras, los sistemas de 5. El programa D se carga en memoria (se le asignan
paginacin de memoria dividen los programas en peque- los marcos 3 y 4 que usaba el proceso B y el marco
as partes o pginas. Del mismo modo, la memoria es 7 que permaneca libre)
dividida en trozos del mismo tamao que las pginas lla-
mados marcos de pgina. De esta forma, la cantidad de De esta forma, las tablas simplicadas de cada proceso se
memoria desperdiciada por un proceso es el nal de su ven de esta forma:
ltima pgina, lo que minimiza la fragmentacin interna
y evita la externa. Ahora consideremos qu sucede cuando un progra-
ma quiere acceder a su memoria. Si el programa A
En un momento cualquiera, la memoria se encuentra ocu- contiene una referencia a la memoria con direccin
pada con pginas de diferentes procesos, mientras que 20FE, se realizar el siguiente procedimiento. 20FE es
algunos marcos estn disponibles para su uso. El siste- 0010000011111110 en notacin binaria (en un sistema
ma operativo mantiene una lista de estos ltimos marcos, de 16 bit), y en el ejemplo se estn usando pginas de 4Kb
y una tabla por cada proceso, donde consta en qu mar- de tamao. Cuando la peticin de la direccin de memo-
co se encuentra cada pgina del proceso. De esta forma, ria 20FE es realizada, la Unidad de Gestin de memoria
las pginas de un proceso pueden no estar contiguamente se ve de esta forma:
ubicadas en memoria, y pueden intercalarse con las pgi-
nas de otros procesos. 0010000011111110 = 20FE |__||__________| | | | v | Po-
sicin de memoria dentro de la pgina (0FE) v Nmero de
En la tabla de pginas de un proceso, se encuentra la ubi- pgina (0010 = 2) * n = bits de la @ lgica -log2(nmero
cacin del marco que contiene a cada una de sus pginas. de palabras de una pgina). * V: bit de validez. * P: bit
Las direcciones lgicas ahora se forman como un nme- de persistencia. * L: bit de derecho a lectura. * E: bit de
ro de pgina y de un desplazamiento dentro de esa pgina derecho a escritura. * M: bit de modicacin.
(conocido comnmente como oset). El nmero de pgi-
na es usado como un ndice dentro de la tabla de pginas, Al usar pginas de 4096 bytes, todas las ubicaciones den-
y una vez obtenida la direccin del marco de memoria, se tro de una pgina pueden 12
ser representadas por 12 bits,
utiliza el desplazamiento para componer la direccin real en el sistema binario (2 =4096), lo que deja 4 bits para
o direccin fsica. Este proceso se realiza en una parte del representar el nmero de pgina. Si las pginas hubieran
computador especcamente diseada para esta tarea, es sido de la mitad del tamao (2048) se podran tener 5 bits
decir, es un proceso hardware y no software. para el nmero de pgina, lo que signica que a menor ta-
mao de pgina se pueden tener tablas con ms pginas.
De esta forma, cuando un proceso es cargado en memoria,
se cargan todas sus pginas en marcos libres y se completa Cuando el pedido de acceso a memoria es realizado, la
su tabla de pginas. MMU busca en la tabla de pginas del proceso que reali-
z el pedido por la relacin en memoria fsica. En nuestro
Veamos un ejemplo: ejemplo, la pgina nmero 2 del proceso A corresponde
La tabla de la derecha muestra una posible conguracin al marco nmero 2 en memoria fsica, con direccin real
de la memoria en un momento dado, con pginas de 4Kb. 1000:2000, por lo tanto, la MMU devolver la direccin
La forma en que se lleg a este estado puede haber sido del marco en memoria fsica, con el desplazamiento den-
la siguiente: tro de esa pgina: 1000:20FE.
Se tienen cuatro procesos, llamados A, B, C y D, que ocu-
pan respectivamente 3, 2, 2 y 3 pginas.
1 Paginacin en memoria virtual
1. El programa A se carga en memoria (se le asignan
los marcos 0, 1 y 2) El nico inconveniente de paginacin pura es que todas
las pginas de un proceso deben estar en memoria pa-
2. El programa B se carga en memoria (se le asignan ra que se pueda ejecutar. Esto hace que si los programas
los marcos 3 y 4) son de tamao considerable, no puedan cargarse muchos
3. El programa C se carga en memoria (se le asignan a la vez, disminuyendo el grado de multiprogramacin
los marcos 5 y 6) del sistema. Para evitar esto, y aprovechando el principio
de cercana de referencias donde se puede esperar que un
4. El programa B termina, liberando sus pginas programa trabaje con un conjunto cercano de referencias

1
2 2 VASE TAMBIN

a memoria (es decir con un conjunto residente ms pe-


queo que el total de sus pginas), se permitir que algu-
nas pginas del proceso sean guardadas en un espacio de
intercambio (fragmentacin interna) mientras no se ne-
cesiten.
Cuando la paginacin se utiliza junto con memoria vir-
tual, el sistema operativo mantiene adems el conoci-
miento sobre qu pginas estn en memoria principal y
cules no, usando la tabla de paginacin. Si una pgina
buscada est marcada como no disponible (tal vez por-
que no est presente en la memoria principal, pero s en
el rea de intercambio), cuando la CPU intenta referen-
ciar una direccin de memoria en esa pgina, la MMU
responde levantando una excepcin (comnmente llama-
da fallo de pgina). Si la pgina se encuentra en el espacio
de intercambio, el sistema operativo invocar una opera-
cin llamada intercambio de pgina, para traer a memoria
principal la pgina requerida. La operacin lleva varios
pasos. Primero se selecciona una pgina en memoria, por
ejemplo una que no haya sido usada recientemente (para
ms detalles ver algoritmos de reemplazo de pginas). Si
la pgina fue modicada, se escribe la misma en el espa-
cio de intercambio. El siguiente paso en el proceso es leer
la informacin en la pgina necesitada desde el espacio
de intercambio. Cuando esto sucede, las tablas para tra-
duccin de direcciones virtuales a reales son actualizadas
para reejar los contenidos de la memoria fsica. Enton-
ces el intercambio de pgina sale, y el programa que us
la direccin que caus la excepcin es vuelto a ejecutar
desde el punto en que se dio la misma y contina como
si nada hubiera pasado. Tambin es posible que una di-
reccin virtual sea marcada como no disponible porque
no fue localizada previamente. En estos casos, una pgi-
na de memoria es localizada y llenada con ceros, la tabla
de paginacin es modicada para mostrar los cambios y
el programa se reinicia como en el otro caso.
Si la pgina que ha provocado el fallo de pgina no se
encuentra en el espacio de intercambio, habr que ir a
buscarla a la unidad de disco. El proceso, por lo dems
sera anlogo.

2 Vase tambin
Paginacin anidada

Segmentacin de memoria
3

3 Origen del texto y las imgenes, colaboradores y licencias


3.1 Texto
Paginacin de memoria Fuente: https://es.wikipedia.org/wiki/Paginaci%C3%B3n_de_memoria?oldid=93779479 Colaboradores: Opi-
nador, Tano4595, 142857, Orgullomoore, Xuankar, Taichi, Unf, Superzerocool, Chobot, Caiserbot, Martincarr, Sasquatch21, Tigerfenix,
Isra00, Kaiba0, CEM-bot, Laura Fiorucci, Montgomery, FrancoGG, Metabot, Dogor, Mpeinadopa, Plux, VolkovBot, Technopat, C'est
moi, Matdrodes, Elabra sanchez, Mutari, Leonpolanco, JOe-LoFish, Arjuno3, A5b, Luckas-bot, Barnacaga, ArthurBot, SuperBraulio13,
Xqbot, Elprofe69, D'ohBot, Born2bgratis, HUBOT, *TikiTac*, Foundling, EmausBot, ZroBot, Mecamtico, ChuispastonBot, Wikitan-
virBot, Tokvo, UAwiki, Derekrojas, Tinaut1986, Un Tal Alex.., Addbot y Annimos: 63

3.2 Imgenes

3.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Archivo (informtica)

Este artculo explica los archivos informticos y tos imaginables, desde los ms simples a los ms comple-
los sistemas de archivos en trminos generales. jos. La mayora de los archivos informticos son usados
Para una explicacin ms detallada y tcnica, por programas informticos. Estos programas crean, mo-
vase Sistema de archivos. dican y borran archivos para su propio uso bajo deman-
da. Los programadores que crean los programas deciden
Un archivo o chero informtico es un conjunto de bits qu archivos necesitan, cmo se van a usar, y (a menudo)
que son almacenados en un dispositivo. Un archivo es sus nombres.
identicado por un nombre y la descripcin de la carpeta En algunos casos, los programas de computadora mani-
o directorio que lo contiene. A los archivos informticos pulan los archivos que se hacen visibles al usuario de la
se les llama as porque son los equivalentes digitales de los computadora. Por ejemplo, en un programa de procesa-
archivos escritos en expedientes, tarjetas, libretas, papel miento de texto, el usuario manipula archivos-documento
o microchas del entorno de ocina tradicional. a los que l mismo da nombre. El contenido del archivo-
documento est organizado de una manera que el progra-
ma de procesamiento de texto entiende, pero el usuario
1 Contenido de los archivos elige el nombre y la ubicacin del archivo, y proporciona
la informacin (como palabras y texto) que se almacenar
En lo que concierne al sistema operativo un archivo es, en el archivo.
en la mayora de los casos, simplemente un ujo unidi- Muchas aplicaciones empaquetan todos sus archivos de
mensional de bits, que es tratado por el sistema operati- datos en un nico archivo, usando marcadores internos
vo como una nica unidad lgica. Un archivo de datos para discernir los diferentes tipo de informacin que con-
informtico normalmente tiene un tamao, que general- tienen. Los archivos de datos usados por videojuegos co-
mente se expresa en bytes; en todos los sistemas opera- mo Doom y Quake son ejemplos de esto.
tivos modernos, el tamao puede ser cualquier nmero
Los archivos de una computadora se pueden crear, mo-
entero no negativo de bytes hasta un mximo dependien-
ver, modicar, aumentar, reducir y borrar. En la mayora
te del sistema. Depende del software que se ejecuta en la
de los casos, los programas de computadora que se ejecu-
computadora el interpretar esta estructura bsica como
tan en la computadora se encargan de estas operaciones,
por ejemplo un programa, un texto o una imagen, basn-
pero el usuario de una computadora tambin puede ma-
dose en su nombre y contenido. Los tipos especiales de
nipular los archivos si es necesario. Por ejemplo, los ar-
archivos, como los nodos de dispositivo que representan
chivos de Microsoft Oce Word son normalmente crea-
simblicamente partes del hardware, no consisten en un
dos y modicados por el programa Microsoft Word en
ujo de bits y no tienen tamao de archivo.
respuesta a las rdenes del usuario, pero el usuario tam-
Los datos de un archivo informtico normalmente consis- bin puede mover, renombrar o borrar estos archivos di-
ten en paquetes ms pequeos de datos (a menudo llama- rectamente usando un programa gestor de archivos como
dos registros o lneas) que son individualmente diferentes Windows Explorer (en computadoras con sistema opera-
pero que comparten algn rasgo en comn. Por ejemplo, tivo Windows).
un archivo de nminas puede contener datos sobre todos
Tambin un archivo es un documento donde uno introdu-
los empleados de una empresa y los detalles de su nmina;
ce algn tipo de Dato para almacenar en un objeto que lo
cada registro del archivo de nminas se reere nicamen-
pueda leer o modicar como una computadora.
te a un empleado, y todos los registros tienen la caracte-
rstica comn de estar relacionados con las nminas -esto
es muy similar a colocar todos los datos sobre nminas en
un archivador concreto en una ocina que no tenga nin-
guna computadora. Un archivo de texto puede contener
2 Identicacin y organizacin de
lneas de texto, correspondientes a lneas impresas en una archivos
hoja de papel.
La manera en que se agrupan los datos en un archivo de- En los ms modernos sistemas informticos, los archivos
pende completamente de la persona que disee el archi- siempre tienen nombres. Los archivos se ubican en di-
vo. Esto ha conducido a una pltora de estructuras de ar- rectorios. El nombre de un archivo debe ser nico en ese
chivo ms o menos estandarizadas para todos los propsi- directorio. En otras palabras, no puede haber ms de un

1
2 3 OPERACIONES SOBRE ARCHIVOS COMPLETOS

minologa usada.) Cada carpeta puede contener un nme-


ro arbitrario de archivos, y tambin puede contener otras
carpetas. Las otras carpetas pueden contener todava ms
archivos y carpetas, y as sucesivamente, construyndose
una estructura en rbol en la que una carpeta raz (el
nombre vara de una computadora a otra) puede contener
cualquier nmero de niveles de otras carpetas y archivos.
A las carpetas se les puede dar nombre exactamente igual
que a los archivos (excepto para la carpeta raz, que a me-
nudo no tiene nombre). El uso de carpetas hace ms fcil
organizar los archivos de una manera lgica.
Cuando una computadora permite el uso de carpetas, ca-
da archivo y carpeta no slo tiene un nombre propio, sino
tambin una ruta, que identica la carpeta o carpetas en
las que reside un archivo o carpeta. En la ruta, se em-
plea algn tipo de carcter especial -como una barra- pa-
ra separar los nombres de los archivos y carpetas. Por
ejemplo, en la ilustracin mostrada en este artculo, la ru-
ta /Payroll/Salaries/Managers identica unvocamente
un archivo llamado Managers que est en una carpeta lla-
Los archivos y carpetas se organizan jerrquicamente. mada Salaries que a su vez est contenida en una carpeta
llamada Payroll. En este ejemplo, los nombres de las car-
petas y archivos estn separados por barras; la superior o
archivo con el mismo nombre dentro del mismo directo- carpeta raz no tiene nombre, y por ello la ruta comienza
rio. con una barra (si la carpeta raz tuviera nombre, precede-
ra a esta primera barra).
El nombre de un archivo y la ruta al directorio del archivo
lo identica de manera unvoca entre todos los dems ar- Muchos (pero no todos) sistemas informticos usan
chivos del sistema informtico -no puede haber dos archi- extensiones en los nombres de archivo para ayudar a iden-
vos con el mismo nombre y ruta-. El aspecto del nombre ticar qu contienen. En computadoras Windows, las ex-
depende del tipo de sistema informtico que se use. Las tensiones consisten en un punto al nal del nombre del
primeras computadoras slo permitan unas pocas letras archivo, seguido de unas pocas letras para identicar el
o dgitos en el nombre de un archivo, pero las computado- tipo de archivo. Una extensin .txt identica un archivo
ras modernas permiten nombres largos que contengan ca- de texto; la extensin .doc identica cualquier tipo de do-
si cualquier combinacin de letras Unicode y dgitos uni- cumento o documentacin, comnmente en el formato de
code, haciendo ms fcil entender el propsito de un ar- archivo de Microsoft Oce Word; etc. Incluso cuando se
chivo de un vistazo. Algunos sistemas informticos per- utilizan extensiones en un sistema informtico, el grado
miten nombres de archivo que contengan espacios; otros con el que un sistema informtico los reconoce y trata
no. La distincin entre maysculas y minsculas en los puede variar; en algunos sistemas son obligatorios, mien-
nombres de archivo est determinada por el sistemas de tras que en otros sistemas se ignoran completamente si
archivos. Los sistemas de archivos Unix distinguen nor- estn presentes.
malmente entre maysculas y minsculas, y permiten a
las aplicaciones a nivel de usuario crear archivos cuyos
nombres dieran solamente en si los caracteres estn en 3 Operaciones sobre archivos com-
maysculas o minsculas. Microsoft Windows reconoce pletos
varios sistemas de archivos, cada uno con diferentes pol-
ticas en cuanto a la distincin entre maysculas y mins-
culas. El popular antiguo sistema de archivos FAT puede Las operaciones sobre archivos completos con el archivo
tener varios archivos cuyos nombres dieran nicamen- como unidad, sin tener en cuenta sus registros. Sin em-
te en las maysculas y minsculas si el usuario utiliza un bargo, la organizacin del archivo y la estructura lgica
editor de discos para editar los nombres de archivo en de sus registros s debe ser tenida en cuenta al operar con
las entradas de directorio. Las aplicaciones de usuario, l.
sin embargo, normalmente no permitirn al usuario crear
varios archivos con el mismo nombre pero con diferentes
3.1 Creacin de un archivo
letras en maysculas y minsculas.
La mayora de las computadoras organizan los archivos El objetivo de esta operacin es permitir a los usuarios la
en jerarquas llamadas carpetas, directorios o catlogos. creacin de nuevos archivos. Mediante esta operacin se
(El concepto es el mismo independientemente de la ter- indican las propiedades y las caractersticas del archivo
3.4 Extensin del archivo 3

para que el sistema de archivos pueda reconocerlo y pro- 3.4 Extensin del archivo
cesarlo. En el proceso de creacin del archivo debe regis-
trarse la informacin necesaria para que el sistema pueda Esta operacin permite a los programas de usuario au-
localizar el archivo y manipular sus registros lgicos. Para mentar el tamao de un archivo asignndole ms espacio
ello, el mtodo de acceso debe obtener informacin sobre en el dispositivo de almacenamiento. Para realizar esta
el formato y el tamao de los registros lgicos y fsicos, la operacin el mtodo de acceso necesita conocer el iden-
identicacin del archivo, la fecha de creacin, su posible ticador del archivo y el tamao del espacio adicional que
tamao, su organizacin, aspectos de seguridad, etc. se debe asignar al archivo. En funcin de la organizacin
del archivo, el mtodo de acceso determinar si el espa-
cio adicional que debe asignar debe ser contiguo al archi-
3.2 Apertura de un archivo vo o no. Mediante esta operacin el atributo que indica
el tamao del archivo ser modicado y se devolver al
En esta operacin el mtodo de acceso localiza e identi- programa de usuario con un cdigo de estado. El nico
ca un archivo existente para que los usuarios o el propio motivo para que esta operacin no se lleve a cabo con
sistema operativo pueda operar con l. En algunos siste- xito es que no haya suciente espacio disponible en el
mas la operacin de creacin no existe como tal, y es la lugar adecuado (no contiguo).
operacin de archivo de un chero no existente, la que
implcitamente, crea un nuevo archivo. Los errores que
pueden producirse en la apertura de un archivo son los 4 Proteccin de archivos
siguientes:
Muchos sistemas informticos modernos proporcionan
El archivo no se encuentra en el lugar indicado (dis- mtodos para proteger los archivos frente a daos acci-
positivo, directorio, nombre). dentales o intencionados. Las computadoras que permi-
ten varios usuarios implementan permisos sobre archivos
El archivo se ha localizado pero el usuario no tiene para controlar quin puede o no leer, modicar, borrar o
permiso para acceder al mismo. crear archivos y carpetas. A un usuario dado se le puede
conceder solamente permiso para modicar un archivo o
El archivo no se puede leer por errores en el carpeta, pero no para borrarlo; o a un usuario se le puede
hardware del dispositivo de almacenamiento. conceder permiso para crear archivos o carpetas, pero no
para borrarlos. Los permisos tambin se pueden usar para
permitir que solamente ciertos usuarios vean el conteni-
3.3 Cierre de un archivo do de un archivo o carpeta. Los permisos protegen de la
manipulacin no autorizada o destruccin de la informa-
Esta operacin se utiliza para indicar que se va a dejar de cin de los archivos, y mantienen la informacin privada
utilizar un archivo determinado. Mediante esta operacin condencial impidiendo que los usuarios no autorizados
el mtodo de acceso se encarga de romper la conexin vean ciertos archivos.
entre el programa de usuario y el archivo, garantizando la Otro mecanismo de proteccin implementado en muchas
integridad de los registros. Al ejecutar esta operacin, el computadoras es una marca de slo lectura. Cuando esta
sistema se encarga de escribir en el dispositivo de alma- marca est activada en un archivo (lo que puede ser rea-
cenamiento aquella informacin que contienen los bfer lizado por un programa de computadora o por un usuario
asociados al archivo y se llevan a cabo las operaciones de humano), el archivo puede ser examinado, pero no pue-
limpieza necesarias. Tras cerrar el archivo, sus atributos de ser modicado. Esta marca es til para informacin
dejan de ser accesibles para el mtodo de acceso. El ni- crtica que no debe ser modicada o borrada, como ar-
co parmetro necesario para realizar esta operacin es el chivos especiales que son usados solamente por partes in-
identicador del archivo devuelto por el mtodo de acce- ternas del sistema informtico. Algunos sistemas incluyen
so al crear o abrir el archivo. Los errores que se pueden tambin una marca oculta para hacer que ciertos archivos
producir al cerrar un archivo son los siguientes: sean invisibles; esta marca la usa el sistema informtico
para ocultar archivos de sistema esenciales que los usua-
El archivo no est abierto. rios nunca deben modicar.

No se ha podido escribir en el dispositivo toda


la informacin del archivo, debido a fallos en el 5 Proteccin legal de datos de ar-
hardware.
chivos
No se ha podido escribir en el dispositivo toda la
informacin del archivo por falta de espacio en el La proteccin de datos personales y velar por la privaci-
dispositivo de almacenamiento. dad de la informacin es un tema de suma importancia a
4 9 VASE TAMBIN

nivel de empresas y de pases. El mal uso de informacin balmente como su sistema de archivos. Todos los siste-
personal puede constituir un delito. mas operativos tienen al menos un sistema de archivos;
Algunos pases han creado organismos que se encargan algunos sistemas operativos permiten usar varios siste-
del tema y de legislar respecto del acceso, uso y con- mas de archivos diferentes. Por ejemplo, en Microsoft
dencialidad de los datos establecidos. Windows 7, se reconocen los antiguos sistemas de archi-
vos FAT y FAT32 de las versiones antiguas de Windows,
adems del sistema de archivos NTFS que es el sistema de
archivos normal en las versiones recientes de Windows.
6 Almacenamiento de archivos NTFS no es ms moderno que FAT32; ha existido desde
que Windows NT se public en 1993.
En trminos fsicos, la mayora de los archivos inform-
Cada sistema de archivos tiene sus propias ventajas y des-
ticos se almacenan en discos duros discos magnticos
ventajas. La FAT estndar solamente permite nombres de
que giran dentro de una computadora que pueden re-
archivo de ocho bytes (u ocho caracteres de slo 1 byte)
gistrar informacin indenidamente. Los discos duros
sin espacios (ms una extensin de tres bytes/caracteres),
permiten acceso casi instantneo a los archivos inform-
por ejemplo, mientras que NTFS permite nombres mu-
ticos.
cho ms largos que pueden contener espacios, y tener va-
Hace unos aos solan usarse cintas magnticas para rea- rias letras Unicode. Se puede llamar a un archivo Regis-
lizar copias de seguridad. Tambin se usaban otros me- tros de nminas en NTFS, mientras que en FAT estara
dios de almacenamiento como discos compactos graba- limitado a algo como nominas.dat (salvo que estuviera
bles, unidades Zip, etctera. usando VFAT, una extensin de FAT que permite nom-
No obstante en la actualidad han cobrado mucho auge bres de archivo largos).
las memorias ash, dispositivos con mucha capacidad de Los programas gestores o administradores de archivos
almacenamiento que tienen la ventaja de ser pequeos y son utilidades que le permiten manipular archivos direc-
porttiles; suelen usarse para guardar archivos en disposi- tamente. Le permiten mover, crear, borrar y renombrar
tivos pequeos como Telefonos mviles o reproductores archivos y carpetas, aunque no le permiten realmente leer
de audio porttiles el contenido de un archivo o almacenar informacin en l.
Cada sistema informtico proporciona al menos un pro-
grama gestor de archivos para su sistema de archivos na-
7 Respaldo de archivos tivo. En Windows, el gestor de archivos usado ms co-
mnmente es Windows Explorer.
Cuando los archivos informticos contienen informacin
que es extremadamente importante, se usa un proceso de
respaldo (back-up) para protegerse contra desastres que 9 Vase tambin
podran destruir los archivos. Hacer copias de respaldo
de archivos signica simplemente hacer copias de los ar- Ruta
chivos en una ubicacin separada de modo que se puedan
restaurar si le pasara algo a la computadora, o si fueran Localizador uniforme de recursos
borrados accidentalmente.
Formato de archivo
Hay muchas maneras de hacer copias de respaldo de ar-
chivos. La mayora de los sistemas informticos propor- Administrador de archivos
cionan utilidades para ayudar en el proceso de respaldo, Sistema de archivos
que puede llegar a consumir mucho tiempo si hay muchos
archivos a salvaguardar. Copiar los archivos a otro disco Copia de seguridad
duro en la misma computadora protege contra el fallo de
un disco, pero si es necesario protegerse contra el fallo o Bloque
destruccin de la computadora entera, entonces de deben
hacer copias de los archivos en otro medio que puede sa-
carse de la computadora y almacenarse en una ubicacin
distante y segura.

8 Sistemas de archivos y gestores


de archivos
La manera en que un sistema operativo organiza, da nom-
bre, almacena y manipula los archivos se denomina glo-
5

10 Origen del texto y las imgenes, colaboradores y licencias


10.1 Texto
Archivo (informtica) Fuente: https://es.wikipedia.org/wiki/Archivo_(inform%C3%A1tica)?oldid=98008524 Colaboradores: Joseape-
rez, Sabbut, Moriel, Sauron, JorgeGG, ManuelGR, Julie, Rafael Soriano, Robbot, Rosarino, Jynus, Rsg, Tano4595, Galio, FAR, ICrash,
Soulreaper, Orgullomoore, Hispa, Airunp, Klemen Kocjancic, Orco70, Magister Mathematicae, RobotQuistnix, Alhen, JKD, Superzero-
cool, Yrbot, BOT-Superzerocool, Oscar ., FlaBot, Varano, Vitamine, BOTijo, YurikBot, Museo8bits, KnightRider, The Photographer,
Jesuja, Marb, Eskimbot, Morza, Er Komandante, Chlewbot, Roche, Acanas, JorSol, BOTpolicia, Aljullu, CEM-bot, Jorgelrm, Laura Fio-
rucci, Retama, Baiji, Karshan, Antur, Gafotas, FrancoGG, Rjelves, Thijs!bot, Airwolf, Furrykef, Crates, RoyFocker, Isha, Dogor, JAnD-
bot, Jugones55, Kved, Achata, Mansoncc, TXiKiBoT, Humberto, Netito777, Rei-bot, Idioma-bot, Plux, Enrique r25, Manuel Trujillo
Berges, DonBarredora, Delphidius, Cinevoro, Aibot, Technopat, Raystorm, Matdrodes, Fernando Estel, Elabra sanchez, Synthebot, Black-
Beast, Shooke, MerGM, AlleborgoBot, Muro Bot, Bucho, SieBot, Ensada, Carmin, Sarahyiii, Ortellado, STBot~eswiki, Mel 23, Manw,
BuenaGente, Mafores, Dllwiki, Tirithel, Jmmuguerza, Jarisleif, Mr. Spock~eswiki, Jozho8, Antn Francho, Nicop, JOKblogger, Estirabot,
Eduardosalg, Leonpolanco, Alejandrocaro35, Botito777, Descansatore, Petruss, Poco a poco, Alexbot, BodhisattvaBot, Osado, UA31, AV-
BOT, David0811, Dermot, Louperibot, MastiBot, MarcoAurelio, Diegusjaimes, MelancholieBot, Arjuno3, Luckas-bot, Rodrigouy7, Agus
ferrocarril, Eljuanlu, ArthurBot, Lcpousa, SuperBraulio13, Manuelt15, Xqbot, Jkbw, Savig, Abygail, Igna, Botarel, Rexmania, KyaraArro-
yo, BOTirithel, Jakeukalane, RedBot, PatruBOT, Gonzalo Real, Lukaares, Jorge c2010, Foundling, Lalo2302, Gauri, Edslov, EmausBot,
Savh, AVIADOR, HRoestBot, TuHan-Bot, Rubpe19, Emiduronte, MerlIwBot, Edc.Edc, Cascusatomus, Alvaro To, Acratta, Elvisor, Creo-
sota, DanielithoMoya, EnzaiBot, Syum90, .eduaardhoo, Leitoxx, Policia Antispam, Addbot, Balles2601, Grimilda reyes, MUOZAMEN,
CLAUDIA MIREYA RICAURTE, Juan120ca, MrCharro, Jarould, Bruno Rene Vargas, Crystallizedcarbon, 4lextintor, Jose Ciprian III,
CAPTAIN RAJU, Pure-W-Heart, Easl294, Mr.chingon, ElegansEtFidelis, Sebasmon123 y Annimos: 353

10.2 Imgenes
Archivo:FilesAndFolders.png Fuente: https://upload.wikimedia.org/wikipedia/commons/2/21/FilesAndFolders.png Licencia: CC-BY-
SA-3.0 Colaboradores: Trabajo propio Artista original: FrancoGG

10.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Sistema de archivos

El sistema de archivos o sistema de cheros es el com-


ponente del sistema operativo encargado de administrar
y facilitar el uso de las memorias perifricas, ya sean
secundarias o terciarias.
Sus principales funciones son la asignacin de espacio a
los archivos, la administracin del espacio libre y del ac-
ceso a los datos resguardados. Estructuran la informacin
guardada en un dispositivo de almacenamiento de datos o
unidad de almacenamiento (normalmente un disco duro
de una computadora), que luego ser representada ya sea
textual o grcamente utilizando un gestor de archivos.
La mayora de los sistemas operativos manejan su propio
sistema de archivos.[1]
Lo habitual es utilizar dispositivos de almacenamiento de
datos que permiten el acceso a los datos como una cadena
de bloques de un mismo tamao, a veces llamados secto-
res, usualmente de 512 bytes de longitud (tambin deno-
minados clsters). El software del sistema de archivos es
responsable de la organizacin de estos sectores en archi-
vos y directorios y mantiene un registro de qu sectores Normalmente los archivos y carpetas se organizan jerrquica-
pertenecen a qu archivos y cules no han sido utilizados. mente.
En la prctica, un sistema de archivos tambin puede ser
utilizado para acceder a datos generados dinmicamen- to y los metadatos de cada archivo son alojados separa-
te, como los recibidos a travs de una conexin de red de damente.
computadoras (sin la intervencin de un dispositivo de
almacenamiento). En los sistemas de archivos jerrquicos, usualmente, se
declara la ubicacin precisa de un archivo con una cadena
Los sistemas de archivos proveen mtodos para crear, de texto llamada ruta (path, en ingls). La nomenclatura
mover, renombrar y eliminar tanto archivos como direc- para rutas vara ligeramente de sistema en sistema, pero
torios, pero carecen de mtodos para crear, por ejemplo, mantienen por lo general una misma estructura. Una ruta
enlaces adicionales a un directorio o archivo (enlace duro viene dada por una sucesin de nombres de directorios y
en Unix) o renombrar enlaces padres (".. en Unix). subdirectorios, ordenados jerrquicamente de izquierda a
El acceso seguro a sistemas de archivos bsicos puede es- derecha y separados por algn carcter especial que suele
tar basado en los esquemas de lista de control de acceso ser una barra diagonal (/) o barra diagonal invertida (\) y
(access control list, ACL) o capacidades. Las ACL ha- puede terminar en el nombre de un archivo presente en la
ce dcadas que demostraron ser inseguras, por lo que los ltima rama de directorios especicada.
sistemas operativos experimentales utilizan el acceso por
capacidades. Los sistemas operativos comerciales toda-
va funcionan con listas de control de acceso.[cita requerida] 1.1 Ejemplo de 'ruta' en un sistema Unix

As, por ejemplo, en un sistema tipo Unix como


1 Rutas y nombre de archivos GNU/Linux, la ruta para la cancin llamada La
cancin.ogg" del usuario Fulano sera algo como:
La estructura de directorios suele ser jerrquica, rami- /home/Fulano/Mi msica/La cancin.ogg
cada o en rbol, aunque en algn caso podra ser
donde:
plana. En algunos sistemas de archivos los nombres de
archivos son estructurados, con sintaxis especiales para
extensiones de archivos y nmeros de versin. En otros, / representa el directorio raz donde est
los nombres de archivos son simplemente cadenas de tex- montado todo el sistema de archivos.

1
2 3 TIPO DE SISTEMAS DE ARCHIVOS

home/Fulano/Mi msica/ es la ruta el sistema operativo Windows


del archivo. XP, si el usuario cambia la ex-
La cancin.ogg es el nombre tensin de un archivo, el ar-
del archivo que se establece co- chivo puede quedar inutiliza-
mo nico. ble si la nueva extensin lo aso-
.ogg es la Extensin del archi- cia a un programa que no ten-
vo. ga la capacidad de editar o re-
producir ese tipo de archivo.
Algunos usuarios igual habili-
1.2 Ejemplo de 'ruta' en un sistema Win- tan la visualizacin de las ex-
dows tensiones en los sistemas Win-
dows como medida de precau-
Un ejemplo anlogo en un sistema de archivos de cin para evitar virus que uti-
Windows (especcamente en Windows 8) se vera co- licen conos o nombres pare-
mo: cidos a los archivos personales
del usuario, ya que la extensin
C:\Users\Fulano\Music\cancin.mp3 permite identicar a los che-
donde: ros .EXE (ejecutables en Win-
dows).
C: es la unidad de almacenamiento en la que se
encuentra el archivo.
2 Resumen de caractersticas de los
\Users\Fulano\Music\ es la ruta del ar-
chivo.
sistemas de archivos
cancin es el nombre del archivo.
Seguridad o permisos
.mp3 es la extensin del ar-
chivo, este elemento (parte Listas de control de acceso (ACL)
del nombre) es especialmen- UGO (Usuario, Grupo, Otros, o por sus si-
te relevante en los sistemas glas en ingls: User, Group, Others)
Microsoft Windows, porque
Capacidades granuladas
sirve para identicar qu ti-
po de archivo es y la aplica- Atributos extendidos (ej.: slo aadir al archi-
cin que est asociada con el vo pero no modicar, no modicar nunca, et-
archivo en cuestin, es decir, ctera)
con qu programa se puede
abrir y leer, editar o reprodu- Mecanismo para evitar la fragmentacin
cir el archivo. Para la mayora
de los sistemas operativos mo- Capacidad de enlaces simblicos o duros
dernos la extensin del archi-
Integridad del sistema de archivos (Journaling)
vo es un complemento buro-
crtico solo til para la obser- Soporte para archivos dispersos
vacin del usuario, ya que los
entornos de administracin de Soporte para cuotas de discos
archivos y aplicaciones varias,
analizan la informacin conte- Soporte de crecimiento del sistema de archivos na-
nida en el principio del inte- tivo
rior del archivo (MIME hea-
ders) para determinar su fun-
cin o asociacin, la cual nor-
malmente est catalogada en
3 Tipo de sistemas de archivos
la tabla MIME Content-Type
en el sistema. El sistema Win- 3.1 Sistemas de archivos de disco
dows permite ocultar la exten-
sin de los archivos si el usua- Un sistema de archivo de disco est diseado para el
rio lo desea, de no hacerlo la almacenamiento de archivos en una unidad de disco,
extensin aparece en los nom- que puede estar conectada directa o indirectamente a la
bres de todos los archivos. En computadora.
3

3.2 Sistemas de archivos de red 3.4.2 Sistema de archivos en Linux

Un sistema de archivos de red es el que accede a sus ar- Linux es el sistema operativo que soporta ms sistemas de
chivos a travs de una red de computadoras. organizacin lo cul lo convierte en uno de los ms vers-
tiles. Adems, al igual que Windows, utiliza los mismos
Dentro de esta clasicacin encontramos dos tipos de sis-
tipos de acceso y sistemas de organizacin. La estructu-
temas de archivos:
ra de archivos es unas estructura jerrquica en forma de
rbol invertido, donde el directorio principal (raz) es el
1. los sistemas de archivos distribuidos (no proporcio- directorio "/", del que cuelga toda la estructura del sis-
nan E/S en paralelo); tema. Este sistema de archivos permite al usuario crear,
borrar y acceder a los archivos sin necesidad de saber el
lugar exacto en el que se encuentran. No existen unidades
2. los sistemas de archivos paralelos (proporcionan una
fsicas, sino archivos que hacen referencia a ellas. Consta
E/S de datos en paralelo).
de tres partes importantes, superbloque, tabla de i-nodos
y bloques de datos.

3.3 Sistemas de archivos de propsito es- -EXT: El sistema de archivos extendido (extended
pecial le system o ext), fue el primer sistema de archi-
vos de Linux. Tiene metadatos estructura inspirada
Los sistemas de archivos de propsito especial (special en el tradicional sistema de archivos UNIX (UFS).
purpose le system) son aquellos tipos de sistemas de ar- Fue diseado por Rmy Card para vencer las limi-
chivos que no son ni sistemas de archivos de disco, ni taciones del sistema de archivos MINIX.
sistemas de archivos de red.
Ejemplos: acme (Plan 9), archfs, cdfs, cfs, devfs, udev, 3.4.3 Sistema de archivos de MacOS
ftpfs, lnfs, nntpfs, plumber (Plan 9), procfs, ROMFS,
swap, sysfs, TMPFS, wikifs, LUFS, etctera. Los sistemas de archivos que utiliza MacOs tienen su for-
ma peculiar de trabajar, la cual es totalmente distinta a la
de Windows y Linux, trabajan por medio de jerarquas.
3.4 Sistema de archivos por Sistema Ope- -HFS: El Sistema de Archivos Jerrquico divide un volu-
rativo men en bloques lgicos de 512 bytes. Estos bloques lgi-
cos estn agrupados juntos en bloques de asignacin (allo-
En cada sistema operativo existen distintas formas de uti- cation blocks) que pueden contener uno o ms bloques
lizacin de los tipos de acceso para la organizacin pti- lgicos dependiendo del tamao total del volumen.
ma de sus archivos y su informacin. Cada sistema ope-
rativo cuenta con uno o varios sistemas diferentes de or-
ganizacin, los cuales trabajan acorde a las necesidades 4 Referencias
del usuario y su uso de la informacin.
[1] Ral Juncos (21 de enero). observatorio.cnice.mec.es, ed.
Sistema de cheros GNU/Linux. Consultado el 1 de fe-
3.4.1 Sistemas de archivos en Windows brero de 2010.

Los sistemas de organizacin de archivos que utiliza


Windows utilizan el acceso secuencial indexado (acceso 5 Vase tambin
secuencial y acceso indexado adjuntos en un mismo m-
todo), el acceso directo en algunos casos en la utilizacin Anexo:Comparacin de sistemas de archivos
de los sistemas de organizacin por tablas.
Carpeta de usuario

FAT: Tabla de asignacin de archivos, comnmen- Directorio


te conocido como FAT (del ingls le allocation ta- Directorio raz
ble), es un sistema de archivos. Es un formato popu-
lar para disquetes admitido prcticamente por todos Extensin de archivo
los sistemas operativos existentes para computadora
personal. Se utiliza como mecanismo de intercam- Formato (disco)
bio de datos entre sistemas operativos distintos que Fragmentacin de un sistema de cheros
coexisten en la misma computadora, lo que se cono-
ce como entorno multiarranque. Sistema de archivos UNIX
4 6 ENLACES EXTERNOS

Sistema de archivos virtual

Tipos de acceso por Sistema Operativo

6 Enlaces externos
Unix lesystem Sistema de cheros Unix (en ingls).
5

7 Origen del texto y las imgenes, colaboradores y licencias


7.1 Texto
Sistema de archivos Fuente: https://es.wikipedia.org/wiki/Sistema_de_archivos?oldid=97226775 Colaboradores: Andre Engels, Jor-
geGG, Pilaf, Pieter, Vcarceler, Javier Carro, Janus~eswiki, Drjackzon, Dodo, Triku, Sms, Enric Naval, Periku, Balderai, Elsenyor, Renabot,
Markohs, Soulreaper, AlfonsoERomero, JMPerez, Edub, Yrithinnd, Orgullobot~eswiki, RobotQuistnix, Superzerocool, Caiserbot, Yrbot,
Adrruiz, FlaBot, Varano, Vitamine, BOTijo, Dangarcia, YurikBot, Mortadelo2005, Gustavoang, Icvav, Jesuja, Gtz, Maldoror, Kaiba0,
Kromsoft, Alexquendi, Calsbert, BOTpolicia, CEM-bot, Laura Fiorucci, Gonmator, Alexav8, Especiales, Karpoke, Thijs!bot, Mahadeva,
Jcentel, Yeza, RoyFocker, Dogor, Gusgus, Mpeinadopa, Achata, Muro de Aguas, JaBot, AstroMen, Ignacioerrico, ColdWind, Humber-
to, Netito777, Snakefang, Cinevoro, Snakeyes, Technopat, Galandil, Queninosta, Zurtitto, Matdrodes, BlackBeast, Shooke, Vatelys, Muro
Bot, Loveless, Carmin, OboeCrack, Greek, BuenaGente, Tirithel, Marcecoro, HUB, MetsBot~eswiki, DragonBot, Estirabot, Eduardosalg,
Leonpolanco, Widel, Pato yaez, Poco a poco, Alexbot, Fr85710, SilvonenBot, UA31, Ucevista, AVBOT, Louperibot, SubSevenMoRp-
HeEuS, Diegusjaimes, MelancholieBot, Arjuno3, Luckas-bot, Nallimbot, LordboT, Dangelin5, Vivaelcelta, ArthurBot, SuperBraulio13,
Ortisa, Xqbot, Jkbw, Dreitmen, Tebancartin, Josemiguel93, FrescoBot, Botarel, D'ohBot, Jakeukalane, Omerta-ve, Teknad, TorQue As-
tur, Steveen777, PatruBOT, Juandavidmesas, KSEltar, Humbefa, HermanHn, Foundling, EmausBot, CVNBot, HRoestBot, Sergio Andres
Segovia, MadriCR, Hiperfelix, Antonorsi, KLBot2, AvocatoBot, Acratta, Santga, Helmy oved, Zerabat, Legobot, Emferr, Balles2601,
Lagoset, Jhoan312, Jarould, Marianofxp, BenjaBot, Senpairoot, EzraCharles, Edilia Miranda y Annimos: 241

7.2 Imgenes
Archivo:FilesAndFolders.png Fuente: https://upload.wikimedia.org/wikipedia/commons/2/21/FilesAndFolders.png Licencia: CC-BY-
SA-3.0 Colaboradores: Trabajo propio Artista original: FrancoGG

7.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Diagrama de bloques

Un sencillo diagrama de bloques para un sistema de seguimiento


Un diagrama de bloques de procesos de produccin industrial.
2 Elaboracin
El diagrama de bloques es la representacin grca del
funcionamiento interno de un sistema, que se hace me- El primer bloque especica la materia prima de la que
diante bloques y sus relaciones, y que, adems, denen proviene el producto. Los siguientes bloques son proce-
la organizacin de todo el proceso interno, sus entradas y sos escritos de manera innitiva y llevan siempre o una
sus salidas. indicacin de proceso (izquierda) y gastos bsicos (dere-
Un diagrama de bloques de procesos de produccin es cha).
utilizado para indicar la manera en la que se elabora cier-
to producto, especicando la materia prima, la cantidad Las indicaciones de proceso son variantes del tipo
de procesos y la forma en la que se presenta el producto fsicas que se deben considerar para que el produc-
terminado. to sea de elaboracin adecuada. Cada pas tiene sus
Un diagrama de bloques de modelo matemtico es el uti- propios estndares para elaborar productos. Las in-
lizado para representar el control de sistemas fsicos (o dicaciones de proceso son bsicamente la tempera-
reales) mediante un modelo matemtico, en el cual, in- tura, la presin y los tiempos de reposo.
tervienen gran cantidad de variables que se relacionan en Los gastos bsicos son adicciones de ciertas sustan-
todo el proceso de produccin. El modelo matemtico cias ajenas a la materia prima auxiliares a un proceso
que representa un sistema fsico de alguna complejidad del mismo.
conlleva a la abstraccin entre la relacin de cada una
de sus partes, y que conducen a la prdida del concepto
global. En ingeniera de control, se han desarrollado una
representacin grca de las partes de un sistema y sus
3 Enlaces externos
interacciones. Luego de la representacin grca del mo-
delo matemtico, se puede encontrar la relacin entre la Wikimedia Commons alberga contenido multi-
entrada y la salida del proceso del sistema. media sobre Diagrama de bloques. Commons

1 Tipos 4 Vase tambin


Diagrama de bloques funcional
Diagrama de bloques de procesos de produccin in-
dustrial

Diagrama de bloques de modelo matemtico

1
2 5 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

5 Origen del texto y las imgenes, colaboradores y licencias


5.1 Texto
Diagrama de bloques Fuente: https://es.wikipedia.org/wiki/Diagrama_de_bloques?oldid=97388188 Colaboradores: Robbot, Rosarino,
Tano4595, Baneld, BOTpolicia, CEM-bot, Mansoncc, Humberto, Idioma-bot, Technopat, Regaladiux, Matdrodes, Muro Bot, Alberto-
fallas100, Manw, Mafores, Antn Francho, Farisori, Leonpolanco, BetoCG, SilvonenBot, AVBOT, Amirobot, MystBot, DiegoFb, El
morroman1, Mcapdevila, Xqbot, Jkbw, Halfdrag, DixonDBot, PatruBOT, Blast blast2002, EmausBot, ZroBot, Grillitus, MerlIwBot, Stli-
ta, Cloker19, Benjamn Nez Gonzlez, Addbot, Alexis4891870, Diegogribo, Elias.1214078, Jarould y Annimos: 42

5.2 Imgenes
Archivo:Bloc_Diagram.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/7/71/Bloc_Diagram.jpg Licencia: CC BY-SA 3.0
Colaboradores: Trabajo propio Artista original: Herko60
Archivo:Blockdiagramexemple.png Fuente: https://upload.wikimedia.org/wikipedia/commons/b/bc/Blockdiagramexemple.png Licen-
cia: Public domain Colaboradores: Trabajo propio Artista original: Regalafar
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.

5.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Ncleo (informtica)

En informtica, un ncleo o kernel (de la raz germnica Gestin de los distintos programas informticos (ta-
Kern, ncleo, hueso) es un software que constituye una reas) de una mquina.
parte fundamental del sistema operativo, y se dene co-
Gestin del hardware (memoria, procesador,
mo la parte que se ejecuta en modo privilegiado (cono-
perifrico, forma de almacenamiento, etc.)
cido tambin como modo ncleo).[1] Es el principal res-
ponsable de facilitar a los distintos programas acceso se-
La mayora de las interfaces de usuario se construyen en
guro al hardware de la computadora o en forma bsica, es
torno al concepto de ncleo. La existencia de un ncleo,
el encargado de gestionar recursos, a travs de servicios
es decir, de un nico programa responsable de la comuni-
de llamada al sistema. Como hay muchos programas y el
cacin entre el hardware y el programa informtico, re-
acceso al hardware es limitado, tambin se encarga de
sulta de compromisos complejos referentes a cuestiones
decidir qu programa podr usar un dispositivo de hard-
de resultados, seguridad y arquitectura de los procesado-
ware y durante cunto tiempo, lo que se conoce como
res. El ncleo tiene grandes poderes sobre la utilizacin
multiplexado. Acceder al hardware directamente puede
de los recursos materiales (hardware), en particular, de
ser realmente complejo, por lo que los ncleos suelen im-
la memoria.
plementar una serie de abstracciones del hardware. Esto
permite esconder la complejidad, y proporcionar una in-
terfaz limpia y uniforme al hardware subyacente, lo que 2.1 Funciones generalmente ejercidas por
facilita su uso al programador.
un ncleo
En algunos sistemas operativos, no existe un ncleo como
tal (algo comn en sistemas empotrados), debido a que en Los ncleos tienen como funciones bsicas garantizar la
ciertas arquitecturas no hay distintos modos de ejecucin. carga y la ejecucin de los procesos, las entradas/salidas
y proponer una interfaz entre el espacio ncleo y los pro-
gramas del espacio del usuario.
1 Tcnica Aparte de las funcionalidades bsicas, el conjunto de las
funciones de los puntos siguientes (incluidos los pilotos
Cuando se aplica voltaje al procesador de un dispositivo materiales, las funciones de redes y sistemas de cheros o
electrnico, ste ejecuta un reducido cdigo en lenguaje los servicios) necesariamente no son proporcionados por
ensamblador localizado en una direccin concreta en la un ncleo de sistema de explotacin. Pueden establecerse
memoria ROM (direccin de reset) y conocido como re- estas funciones del sistema de explotacin tanto en el es-
set code, que a su vez ejecuta una rutina con la que se pacio usuario como en el propio ncleo. Su implantacin
inicializa el hardware que acompaa al procesador. Tam- en el ncleo se hace con el nico objetivo de mejorar los
bin en esta fase suele inicializarse el controlador de las resultados. En efecto, segn la concepcin del ncleo, la
interrupciones. Finalizada esta fase se ejecuta el cdigo misma funcin llamada desde el espacio usuario o el espa-
de arranque (startup code), tambin cdigo en lengua- cio ncleo tiene un coste temporal obviamente diferente.
je ensamblador, cuya tarea ms importante es ejecutar Si esta llamada de funciones es frecuente, puede resultar
el programa principal (main()) del software de la aplica- til integrar estas funciones al ncleo para mejorar los
cin.[2] resultados.

Tambin puede aplicarse en el caso del sistema operativo


IOS. 2.2 Unix
Un ncleo Unix es un programa escrito casi en su totali-
2 Generalidades dad en lenguaje C, con excepcin de una parte del manejo
de interrupciones, expresada en el lenguaje ensamblador
del procesador en el que opera. Las funciones del ncleo
En informtica, los ordenadores son el ncleo del progra- son permitir la existencia de un ambiente en el que sea po-
ma informtico que se asegura de: sible atender a varios usuarios y mltiples tareas en forma
concurrente, repartiendo al procesador entre todos ellos,
La comunicacin entre los programas que solicitan e intentando mantener en grado ptimo la atencin indi-
recursos y el hardware. vidual.

1
2 3 TIPOS DE SISTEMAS

El ncleo opera como asignador de recursos para cual- muy pronto se encargar de dar vida al sistema comple-
quier proceso que necesite utilizar las facilidades de to, mediante la activacin de otros procesos que tambin
cmputo. Sus funciones principales son: forman parte del ncleo. Es decir, se inicia una cadena de
activaciones de procesos, entre los cuales destaca el co-
Creacin de procesos, asignacin de tiempos de nocido como despachador, o planicador, que es el res-
atencin y sincronizacin. ponsable de decidir cul proceso se ejecutar y cules van
a entrar o salir de la memoria central. A partir de ese mo-
Asignacin de la atencin del procesador a los pro- mento se conoce el nmero uno como proceso de inicia-
cesos que lo requieren. lizacin del sistema, init.
Administracin de espacio en el sistema de archivos, El proceso init es el responsable de establecer la estructu-
que incluye: acceso, proteccin y administracin de ra de procesos en Unix. Normalmente, es capaz de crear
usuarios; comunicacin entre usuarios y entre pro- al menos dos estructuras distintas de procesos: el modo
cesos, y manipulacin de E/S y administracin de monousuario y el multiusuario. Comienza activando el in-
perifricos. trprete del lenguaje de control shell de Unix en la ter-
Supervisin de la transmisin de datos entre la me- minal principal, o consola del sistema, proporcionndole
moria principal y los dispositivos perifricos. privilegios de superusuario. En la modalidad de un solo
usuario la consola permite iniciar una primera sesin, con
privilegios especiales, e impide que las otras lneas de co-
Reside siempre en la memoria principal y tiene el con-
municacin acepten iniciar sesiones nuevas. Esta modali-
trol sobre la computadora, por lo que ningn otro proceso
dad se usa con frecuencia para revisar y reparar sistemas
puede interrumpirlo; slo pueden llamarlo para que pro-
de archivos, realizar pruebas de funciones bsicas del sis-
porcione algn servicio de los ya mencionados. Un pro-
tema y para otras actividades que requieren uso exclusivo
ceso llama al ncleo mediante mdulos especiales cono-
de la computadora.
cidos como llamadas al sistema.
Init crea otro proceso, que espera a que alguien entre en
Consta de dos partes principales: la seccin de control de
sesin en alguna lnea de comunicacin. Cuando esto su-
procesos y la de control de dispositivos. La primera asig-
cede, realiza ajustes en el protocolo de la lnea y ejecuta
na recursos, programas, procesos y atiende sus requeri-
el programa login, que se encarga de atender inicialmente
mientos de servicio; la segunda, supervisa la transferen-
a los nuevos usuarios. Si el nombre de usuario y la con-
cia de datos entre la memoria principal y los dispositivos
trasea proporcionadas son correctos, entonces entra en
del ordenador. En trminos generales, cada vez que algn
operacin el programa Shell, que en lo sucesivo se encar-
usuario oprime una tecla de una terminal, o que se debe
gar de la atencin normal del usuario que se dio de alta
leer o escribir informacin del disco magntico, se inte-
en esa terminal.
rrumpe al procesador central y el ncleo se encarga de
efectuar la operacin de transferencia. A partir de ese momento el responsable de atender al
usuario en esa terminal es el intrprete Shell. Cuando se
Cuando se inicia la operacin de la computadora, debe
desea terminar la sesin hay que desconectarse de Shell
cargarse en la memoria una copia del ncleo, que reside
(y, por lo tanto, de Unix), mediante una secuencia espe-
en el disco magntico (operacin denominada bootstrap).
cial de teclas (usualmente. < CTL > - D). A partir de ese
Para ello, se deben inicializar algunas interfaces bsicas
momento la terminal queda disponible para atender a un
de hardware; entre ellas, el reloj que proporciona inte-
nuevo usuario.
rrupciones peridicas. El ncleo tambin prepara algunas
estructuras de datos que abarcan una seccin de alma-
cenamiento temporal para transferencia de informacin
entre terminales y procesos, una seccin para almacena-
miento de descriptores de archivos y una variable que in-
3 Tipos de sistemas
dica la cantidad de memoria principal.
No necesariamente se necesita un ncleo para usar una
A continuacin, el ncleo inicializa un proceso especial, computadora. Los programas pueden cargarse y ejecu-
llamado proceso 0. En Unix, los procesos se crean me- tarse directamente en una computadora vaca, siempre
diante una llamada a una rutina del sistema (fork), que que sus autores quieran desarrollarlos sin usar ninguna
funciona por un mecanismo de duplicacin de procesos. abstraccin del hardware ni ninguna ayuda del sistema
Sin embargo, esto no es suciente para crear el primero operativo. Esta era la forma normal de usar muchas de
de ellos, por lo que el ncleo asigna una estructura de da- las primeras computadoras: para usar distintos programas
tos y establece apuntadores a una seccin especial de la se tena que reiniciar y recongurar la computadora cada
memoria, llamada tabla de procesos, que contendr los vez. Con el tiempo, se empez a dejar en memoria (an
descriptores de cada uno de los procesos existentes en el entre distintas ejecuciones) pequeos programas auxilia-
sistema. res, como el cargador y el depurador, o se cargaban desde
Despus de haber creado el proceso cero, se hace una co- memoria de slo lectura. A medida que se fueron desa-
pia del mismo, con lo que se crea el proceso uno; ste rrollando, se convirtieron en los fundamentos de lo que
3.2 Ncleos monolticos en contraposicin a microncleos 3

llegaran a ser los primeros ncleos de sistema operativo. la copia de variables que se realiza en la comunicacin
Hay cuatro grandes tipos de ncleos: entre mdulos.
Algunos ejemplos de microncleos:
Los ncleos monolticos facilitan abstracciones del
hardware subyacente realmente potentes y variadas. AIX
Los microncleos (en ingls microkernel) propor- La familia de microncleos L4
cionan un pequeo conjunto de abstracciones sim-
ples del hardware, y usan las aplicaciones llamadas El microncleo Mach, usado en GNU Hurd y en
servidores para ofrecer mayor funcionalidad.[3] Mac OS X

Los ncleos hbridos (microncleos modicados) BeOS


son muy parecidos a los microncleos puros, excep-
to porque incluyen cdigo adicional en el espacio de Minix
ncleo para que se ejecute ms rpidamente. MorphOS
Los exoncleos no facilitan ninguna abstraccin, QNX
pero permiten el uso de bibliotecas que proporcio-
nan mayor funcionalidad gracias al acceso directo o RadiOS
casi directo al hardware.
VSTa

3.1 Microncleos Hurd

3.2 Ncleos monolticos en contraposicin


a microncleos
Kernel Frecuentemente se preeren los ncleos monolticos
frente a los microncleos debido al menor nivel de com-
plejidad que comporta el tratar con todo el cdigo de con-
IPC trol del sistema en un solo espacio de direccionamiento.
Por ejemplo, XNU, el ncleo de Mac OS X, est basado
en el ncleo Mach 3.0 y en FreeBSD, en el mismo es-
Servers Software pacio de direccionamiento para disminuir la latencia que
comporta el diseo de microncleo convencional.
A principios de los aos 90, los ncleos monolticos se
consideraban obsoletos. El diseo de Linux como un n-
Esquema del funcionamiento de un microncleo. cleo monoltico en lugar de como un microncleo fue
el tema de una famosa disputa[4] entre Linus Torvalds y
El enfoque microncleo consiste en denir una abstrac- Andrew Tanenbaum. Los argumentos de ambas partes en
esta discusin presentan algunas motivaciones interesan-
cin muy simple sobre el hardware, con un conjunto de
primitivas o llamadas al sistema que implementan servi- tes.
cios del sistema operativo mnimos, como la gestin de Los ncleos monolticos suelen ser ms fciles de disear
hilos, el espacio de direccionamiento y la comunicacin correctamente, y por lo tanto pueden crecer ms rpida-
entre procesos. mente que un sistema basado en microncleo, pero hay
El objetivo principal es la separacin de la implementa- casos de xito en ambos bandos. Los microncleos suelen
cin de los servicios bsicos y de la poltica de funciona- usarse en robtica embebida o computadoras mdicas, ya
miento del sistema. Por ejemplo, el proceso de bloqueo que la mayora de los componentes del sistema operativo
de E/S se puede implementar con un servidor en espacio residen en su propio espacio de memoria privado y prote-
de usuario ejecutndose encima del microncleo. Estos gido. Esto no sera posible con los ncleos monolticos, ni
servidores de usuario, utilizados para gestionar las par- siquiera con los modernos que permiten cargar mdulos
tes de alto nivel del sistema, son muy modulares y sim- del ncleo.
plican la estructura y diseo del ncleo. Si falla uno de Aunque Mach es el microncleo generalista ms cono-
estos servidores, no se colgar el sistema entero, y se po- cido, se han desarrollado otros microncleos con prop-
dr reiniciar este mdulo independientemente del resto. sitos ms especcos. L3 fue creado para demostrar que
Sin embargo, la existencia de diferentes mdulos inde- los microncleos no son necesariamente lentos. La fami-
pendientes origina retardos en la comunicacin debido a lia de microncleos L4 es la descendiente de L3, y una de
4 3 TIPOS DE SISTEMAS

sus ltimas implementaciones, llamada Pistachio, permi- 3.4 Exoncleos


te ejecutar Linux simultneamente con otros procesos, en
espacios de direccionamiento separados.
QNX es un sistema operativo que ha estado disponible
desde principios de los aos 80, y tiene un diseo de mi- Kernel
croncleo muy minimalista. Este sistema ha conseguido
llegar a las metas del paradigma del microncleo con mu-
cho ms xito que Mach. Se usa en situaciones en que no
se puede permitir que haya fallos de software, lo que in- Library Library Library
cluye desde brazos robticos en naves espaciales, hasta
mquinas que pulen cristal donde un pequeo error po-
dra costar mucho dinero.
Software
Mucha gente cree que como Mach bsicamente fall en
el intento de resolver el conjunto de problemas que los
microncleos intentaban subsanar, toda la tecnologa de
microncleos es intil. Los partidarios de Mach arman Esquema bsico de la interaccin entre un exoncleo (exokernel)
que sta es una actitud estrecha de miras que ha llegado con el software a travs de bibliotecas.
a ser lo sucientemente popular para que mucha gente la
acepte como verdad. Los exoncleos, tambin conocidos como sistemas ope-
rativos verticalmente estructurados, representan una
aproximacin radicalmente nueva al diseo de sistemas
3.3 Ncleos hbridos (microncleos modi- operativos.
cados)
La idea subyacente es permitir que el desarrollador tome
Los ncleos hbridos fundamentalmente son micron- todas las decisiones relativas al rendimiento del hardwa-
cleos que tienen algo de cdigo no esencial en espacio re. Los exoncleos son extremadamente pequeos, ya que
de ncleo para que ste se ejecute ms rpido de lo que limitan expresamente su funcionalidad a la proteccin y
lo hara si estuviera en espacio de usuario. Este fue un el multiplexado de los recursos. Se llaman as porque to-
compromiso que muchos desarrolladores de los primeros da la funcionalidad deja de estar residente en memoria y
sistemas operativos con arquitectura basada en micron- pasa a estar fuera, en bibliotecas dinmicas.
cleo adoptaron antes que se demostrara que los micron- Los diseos de ncleos clsicos (tanto el monoltico como
cleos pueden tener muy buen rendimiento. La mayora el microncleo) abstraen el hardware, escondiendo los re-
de sistemas operativos modernos pertenecen a esta cate- cursos bajo una capa de abstraccin del hardware, o de-
gora, siendo el ms popular Microsoft Windows. XNU, trs de los controladores de dispositivo. En los sistemas
el ncleo de Mac OS X, tambin es un microncleo mo- clsicos, si se asigna memoria fsica, nadie puede estar
dicado, debido a la inclusin de cdigo del ncleo de seguro de cul es su localizacin real, por ejemplo.
FreeBSD en el ncleo basado en Mach. DragonFlyBSD
La nalidad de un exoncleo es permitir a una aplicacin
es el primer sistema BSD que adopta una arquitectura de
que solicite una regin especca de la memoria, un blo-
ncleo hbrido sin basarse en Mach.
que de disco concreto, etc., y simplemente asegurarse que
Algunos ejemplos de ncleos hbridos: los recursos pedidos estn disponibles, y que el programa
tiene derecho a acceder a ellos.
Microsoft Windows NT, usado en todos los sistemas
que usan el cdigo base de Windows NT Debido a que el exoncleo slo proporciona una interfaz
al hardware de muy bajo nivel, careciendo de todas las
XNU (usado en Mac OS X) funcionalidades de alto nivel de otros sistemas operati-
DragonFlyBSD vos, ste es complementado por una biblioteca de sistema
operativo. Esta biblioteca se comunica con el exoncleo
ReactOS subyacente, y facilita a los programadores de aplicaciones
las funcionalidades que son comunes en otros sistemas
Hay gente que confunde el trmino ncleo hbrido con los operativos.
ncleos monolticos que pueden cargar mdulos despus
del arranque, lo que es un error. Hbrido implica que el Algunas de las implicaciones tericas de un sistema exo-
ncleo en cuestin usa conceptos de arquitectura o me- ncleo son que es posible tener distintos tipos de sistemas
canismos tanto del diseo monoltico como del micron- operativos (p. e. Windows, Unix) ejecutndose en un solo
cleo, especcamente el paso de mensajes y la migracin exoncleo, y que los desarrolladores pueden elegir pres-
de cdigo no esencial hacia el espacio de usuario, pero cindir incrementar funcionalidades por motivos de ren-
manteniendo cierto cdigo no esencial en el propio n- dimiento.
cleo por razones de rendimiento. Actualmente, los diseos exoncleo estn fundamental-
5

mente en fase de estudio y no se usan en ningn sistema


popular. Un concepto de sistema operativo es Nemesis,
creado por la Universidad de Cambridge, la Universidad
de Glasgow, Citrix Systems y el Instituto Sueco de In-
formtica. El MIT tambin ha diseado algunos sistemas
basados en exoncleos. Los exoncleos se manejan en di-
ferente estructura dado que tambin cumplen funciones
distintas

4 Referencias
[1] gnu.org, ed. (25 de julio). What is the GNU Hurd? (en
ingls). Consultado el 18 de febrero de 2010.

[2] Barr, Michael. 5 Getting to know the hardware. Pro-


gramming Embedded Systems in C and C++ (en ingls)
(1 edicin). O'Reilly. pp. 54-55. ISBN 1565923545.

[3] QNX Software Systems, ed. (2004). QNX Operating


System: Project overview (en ingls). Consultado el 10
de febrero de 2010.

[4] un resumen de la disputa entre Linus Torvalds y Andrew


Tanenbaum (en ingls).

5 Vase tambin
Microncleo
Ncleo monoltico

Ncleo hbrido
Exoncleo

GNU GRUB
Ncleo Linux

Shell de Unix

6 Enlaces externos

Wikimedia Commons alberga contenido multi-


media sobre Ncleo. Commons
Pgina del sistema operativo exoncleo del MIT

Esqueleto del sistema operativo multitarea de la UM


kernel-labs.org - Kernel hacking para todos los ni-
veles, en castellano
6 7 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

7 Origen del texto y las imgenes, colaboradores y licencias


7.1 Texto
Ncleo (informtica) Fuente: https://es.wikipedia.org/wiki/N%C3%BAcleo_(inform%C3%A1tica)?oldid=98264812 Colaboradores:
AstroNomo, Macar~eswiki, Sabbut, Moriel, Sauron, ManuelGR, Wiki Wikardo~eswiki, Dodo, Miuler, Sms, Barcex, Nya~eswiki, Renabot,
Soulreaper, Rembiapo pohyiete (bot), Aadrover, RobotQuistnix, Yrbot, FlaBot, Vitamine, YurikBot, GermanX, Kxt~eswiki, Gaijin, Ban-
eld, DZPM, Chlewbot, BOTpolicia, Lopote, Hawking, CEM-bot, Darkpro, Alexav8, Papixulooo, Psicodelico6, Jobetorrezq, SaGuMa,
Thijs!bot, Gabriel Vidal, Stifax, Kved, Wybot, TXiKiBoT, Cronos x, Humberto, Rei-bot, Idioma-bot, Plux, Snakefang, DonBarredora,
AchedDamiman, Cinevoro, Aibot, VolkovBot, Technopat, Queninosta, Josell2, Matdrodes, Synthebot, BlackBeast, Shooke, Muro Bot, Se-
nex, YonaBot, Gerakibot, SieBot, Danielba894, PaintBot, Loveless, Drinibot, STBot~eswiki, PipepBot, Polo2~eswiki, Marcecoro, Acr30,
Estirabot, Eduardosalg, Botelln, Varrojo, Pablo323, Alecs.bot, LordT, Rge, Osado, Majin boo, SilvonenBot, Shalbat, Misigon, Shune-
re, AVBOT, Gemini1980, MastiBot, SpBot, Diegusjaimes, Lasusirexula, MelancholieBot, Ykhwong, Arjuno3, Saloca, Luckas-bot, Boto
a Boto, Ptbotgourou, ArthurBot, Mettro, SuperBraulio13, Xqbot, Jkbw, FrescoBot, Botarel, Juanito1990, Halfdrag, Abece, Edgardo C,
PatruBOT, Dinamik-bot, FTNieto, Alph Bot, Ripchip Bot, Tarawa1943, Foundling, GrouchoBot, EmausBot, Savh, ZroBot, HRoestBot,
TuHan-Bot, Sergio Andres Segovia, WikitanvirBot, Matthiaspaul, MerlIwBot, KLBot2, Mimomellamo, William Salamanca, Elvisor, Le-
gobot, Agussua, Addbot, Lagoset, Jarould, Lazaro Villalba, BenjaBot, Ks-M9, Melkart4k, IHIOBI y Annimos: 163

7.2 Imgenes
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
Archivo:Kernel-exo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/8/8f/Kernel-exo.svg Licencia: CC-BY-SA-3.0 Cola-
boradores: self-made, based on Image:Kernel-exo.png by User:Aholstenson Artista original: Surachit
Archivo:Kernel-microkernel.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/e/ec/Kernel-microkernel.svg Licencia: Pu-
blic domain Colaboradores: Trabajo propio Artista original: Mattia Gentilini

7.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Firmware

1 Origen del trmino


El trmino fue acuado por Ascher Opler en un artcu-
lo de la revista Datamation, publicado en 1967.[1] Ori-
ginalmente, se refera al microshiva - contenido en un
almacenamiento de control escribible (una rea pequea
especializada de memoria RAM), que dena e imple-
mentaba el conjunto de instrucciones del computador. Si
fuera necesario, el rmware poda ser recargado para es-
pecializar o para modicar las instrucciones que podra
ejecutar la Unidad Central de Procesamiento (CPU). Se-
gn el uso original, el rmware contrastaba tanto con el
soporte fsico (la CPU en s misma) como con el software
(las instrucciones normales que se ejecutan en una CPU).
El rmware no estaba compuesto de instrucciones de m-
Un dispositivo de rmware muy comn: el control remoto de la
televisin.
quina de la CPU, sino del microcdigo de nivel inferior
implicado en la implementacin de las instrucciones de
mquina que ira a ejecutar la CPU. El rmware exista
en el lmite o frontera entre el hardware y el software, por
ello el trmino de rmware (que signica software rme,
jo o slido).
Posteriormente, el trmino fue ensanchado para incluir
cualquier tipo de microcdigo, ya fuera en RAM o ROM.
An ms adelante, el trmino fue ensanchado otra vez
ms, en el uso popular, para denotar cualquier cosa resi-
dente en ROM, incluyendo las instrucciones de mquina
del procesador para el BIOS, los cargadores de arranque,
o aplicaciones especializadas.

Memoria de solo lectura que contiene el BIOS de una vieja placa


base.
2 Firmware hoy en da
El rmware ha evolucionado para signicar casi cualquier
El rmware es un programa informtico que estable-
contenido programable de un dispositivo de hardware, no
ce la lgica de ms bajo nivel que controla los circuitos solo cdigo de mquina para un procesador, sino tambin
electrnicos de un dispositivo de cualquier tipo. Est fuer- conguraciones y datos para los circuitos integrados pa-
temente integrado con la electrnica del dispositivo, es el ra aplicaciones especcas (ASIC), dispositivos de lgica
software que tiene directa interaccin con el hardware, programable, etc.
siendo as el encargado de controlarlo para ejecutar co-
rrectamente las instrucciones externas. De hecho el rm- Hasta mediados de los aos 1990 el procedimiento tpi-
ware es uno de los tres principales pilares del diseo elec- co para actualizar un rmware a una nueva versin era
trnico. reemplazar el medio de almacenamiento que contena el
rmware, usualmente un chip de memoria ROM enchu-
En resumen, un rmware es un software que maneja f- fado en un zcalo. Hoy en da este procedimiento no es
sicamente al hardware. habitual ya que los fabricantes han aadido una nueva
El programa BIOS de una computadora es un rmware funcionalidad que permite grabar las nuevas instruccio-
cuyo propsito es activar una mquina desde su encendido nes en la misma memoria, haciendo de la actualizacin
y preparar el entorno para cargar un sistema operativo en un proceso mucho ms cmodo y dinmico. Aun as el
la memoria RAM. proceso de actualizacin de un rmware hay que reali-

1
2 2 FIRMWARE HOY EN DA

zarlo con mucho cuidado, ya que al ser un componente 2.2 Reproductores de msica porttiles
vital cualquier fallo puede dejar al equipo inservible. Por
ejemplo, un fallo de alimentacin a mitad del proceso de Algunas compaas usan actualizaciones del rmware
actualizacin evitara la carga completa del cdigo que para agregar nuevos formatos de archivos de reproduc-
gobierna el equipo, quiz incluso la carga del cdigo que cin de sonido (codecs); el iriver agreg el formato ogg de
se encarga de actualizar el rmware, as que no podra- esta manera, por ejemplo. Otras caractersticas que pue-
mos actualizarlo de nuevo y por lo tanto el equipo dejara den cambiar con las actualizaciones del rmware son el
de funcionar. GUI e incluso la vida de la batera. La mayora de los
reproductores de msica modernos soportan las actuali-
zaciones del rmware.
2.1 Perifricos de computador
2.3 Telfonos mviles
La mayora de los perifricos del computador son de he-
cho computadores de propsito especial. Mientras que La mayora de los telfonos mviles tienen una capaci-
los dispositivos externos tienen el rmware almacena- dad de rmware actualizable por muchas de las mismas
do internamente, las modernas tarjetas de los perifri- razones que se especicaron anteriormente, pero algunos
cos de computadores tpicamente tienen grandes partes incluso pueden ser actualizados para mejorar la recepcin
de rmware que es cargado en el arranque por el sistema o la calidad del sonido.
husped, pues esto es ms exible. Dicho hardware por
lo tanto puede no funcionar completamente hasta que el
computador husped le haya cargado el rmware indis- 2.4 Automviles
pensable, a menudo por medio del driver de dispositivo
especco (o, ms exactamente, por medio de un subsis- Desde 1996 la mayora de los automviles han empleado
tema dentro del paquete del driver de dispositivo). Los una computadora a bordo y varios sensores para detectar
modernos drivers de dispositivo tambin pueden expo- problemas mecnicos. Los vehculos modernos tambin
ner una interfaz directa de usuario para la conguracin emplean sistemas controlados por computador, ABS y
adems de las llamadas/interfaces del sistema operativo osistemas de control de transmisin operados por compu-
de las Interfaces de programacin de aplicaciones (APIs).tadora. El conductor puede tambin recibir informacin
in-dash de esta manera mientras conduce, como, por
ejemplo, lecturas en tiempo real de la economa del com-
2.1.1 Retos del rmware en los PC bustible y de la presin del neumtico. La mayora del
rmware del vehculo puede ser actualizado en un distri-
En algn sentido, los varios componentes del rmwa- buidor local autorizado.
re son tan importantes como el sistema operativo en un
computador. Sin embargo, a diferencia de la mayora de
los sistemas operativos modernos, el rmware tiene rara- 2.5 Denicin del IEEE
mente un mecanismo automtico bien desarrollado para
actualizarse a s mismo para corregir los problemas de El glosario estndar de terminologa del software del
funcionalidad que son detectados despus de que la uni- Institute of Electrical and Electronics Engineers (IEEE),
dad es despachada. Std 610.12-1990, dene el rmware como sigue:

La combinacin de instrucciones de un dispo-


2.1.2 BIOS y rmware sitivo de hardware e instrucciones y datos de
computadora que residen como software de solo
El BIOS es bastante fcil de actualizar en un PC mo- lectura en ese dispositivo.
derno; los dispositivos como las tarjetas de vdeo o los
mdems confan en el rmware cargado dinmicamen- Notas:
te por un driver de dispositivo y a menudo pueden as
ser actualizados transparentemente a travs de los meca- (1) este trmino es a veces usado pa-
nismos de actualizacin del sistema operativo. En con- ra referirse solamente al dispositi-
traste, el rmware en dispositivos de almacenamiento es vo de hardware o solamente a las
raramente actualizado; no estn estandarizados los me- instrucciones o datos de computado-
canismos para detectar las versiones del rmware y ac- ra, pero estos signicados estn des-
tualizarlas. Estos dispositivos, por lo tanto, tienden a te- aprobados.
ner un ndice ms alto de problemas de funcionalidad, (2) la confusin rodeando este tr-
comparados con otras partes de un moderno sistema de mino ha llevado a alguno a sugerir
computacin.[cita requerida] que ste debe ser totalmente evitado.
3

3 Ejemplos o ejecutarse en ellos. Algunos, sin embargo, deben re-


currir a exploits para funcionar, porque el fabricante ha
Ejemplos de rmware incluyen: intentado bloquear el hardware para evitar que utilicen
cdigo no autorizado.
Sistemas de temporizacin y control para las
lavadoras.
5 Referencias
El BIOS encontrado en computadores personales
compatibles con el IBM PC. [1] Opler, Ascher (enero de 1967). Fourth-Generation Soft-
ware. Datamation 13 (1): 22-24.
El cdigo de plataforma encontrado en los sistemas
Itanium, las mquinas Mac OS X basadas en Intel [2] Custom Firmware Rocks!. 5 de agosto de 2009. Con-
sultado el 13 de agosto de 2009.
y muchas tarjetas de escritorio de Intel tienen rm-
ware EFI. [3] Magic Lantern rmware for Canon 5D Mark II. Con-
sultado el 13 de agosto de 2009.
Open Firmware, usado en computadores de Sun Mi-
crosystems, Apple Computer, y de Genesi.

ARCS, usado en computadores de Silicon Graphics. 6 Vase tambin


Kickstart, usado en la lnea de computadoras Amiga. Imagen ROM
Este es un ejemplo nico de un rmware que mez-
claba las capacidades del BIOS (POST, inicio del BIOS
hardware + autoconguracin, plug and play de pe-
Coreboot
rifricos, etc.), del kernel en s mismo del AmigaOS
y de partes del cdigo usadas en el sistema operativo Open Firmware
(como primitivas y bibliotecas de la interfaz gr-
ca). OpenBIOS

RTAS (Run Time Abstraction Services), usado en LinuxBIOS


computadoras de IBM.
Extensible Firmware Interface
Chips de EPROM usados en la serie Eventide H- IBM PC ROM BIOS
3000 de procesadores digitales de msica.
Microcdigo
El Common Firmware Environment (CFE).
Blob Binario
Controlar los atributos de sonido y vdeo y la lista
de canales en los televisores modernos. Hardware

Software

4 Hackeo del rmware


A veces una nueva o modicada versin no ocial de
rmware es creada por terceros para proporcionar nue-
vas caractersticas o para abrir una funcionalidad ocul-
ta. Los ejemplos incluyen Whited00r para iPhone e iPod
Touch, Rockbox para los reproductores de audio digital,
CHDK[2] y Magic Lantern[2][3] para las cmaras digitales
de Canon, OpenWrt para los enrutadores inalmbricos,[2]
el rmware de regin libre para unidades de DVD, que no
son de regin libre con el rmware ocial, as como mu-
chos proyectos de homebrew para las consolas de juego.
Estos pueden a menudo abrir funcionalidad computacio-
nal en dispositivos previamente limitados (ej., ejecutar
Doom en iPods). La mayora de los hacks de rmware
son libres y tambin de cdigo abierto.
Estos hacks usualmente utilizan la facilidad de actualiza-
cin del rmware en muchos dispositivos para instalarse
4 7 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

7 Origen del texto y las imgenes, colaboradores y licencias


7.1 Texto
Firmware Fuente: https://es.wikipedia.org/wiki/Firmware?oldid=97986324 Colaboradores: Joseaperez, JorgeGG, Zwobot, Sms, Jsanche-
zes, Vicaram, Cinabrium, LeonardoRob0t, Muskari, Taichi, Rembiapo pohyiete (bot), RobotQuistnix, Francosrodriguez, Superzerocool,
Chobot, Yrbot, Baito, FlaBot, Darabuc, GermanX, Beto29, Mauro1947, Eskimbot, Chlewbot, Tomatejc, Acanas, BOTpolicia, CEM-bot,
Jorgelrm, Rastrojo, Jjafjjaf, FrancoGG, Thijs!bot, Alvaro qc, Ying, RoyFocker, Jurgens~eswiki, JAnDbot, TXiKiBoT, Idioma-bot, DonBa-
rredora, AlnoktaBOT, Technopat, Matdrodes, Shooke, AlleborgoBot, Muro Bot, SieBot, Ctrl Z, Loveless, Chrihern, Drinibot, Bigsus-bot,
Tolitose, Pascow, DorganBot, Leonpolanco, LordT, Darkicebot, UA31, AVBOT, Hemingway10, Caitus, Pabloito, Diegusjaimes, Arjuno3,
Luckas-bot, Ptbotgourou, Andy.z714, Manuelt15, Xqbot, Jkbw, Rubinbot, Botarel, TobeBot, Halfdrag, Abece, PatruBOT, Jorman Ordo-
ez, Dark Bane, Nachosan, D9, Savh, Baumert, ChuispastonBot, WikitanvirBot, Matthiaspaul, Antonorsi, -dam-, KLBot2, Invadibot, Ran-
cher 42, Brainup, Elvisor, Asqueladd, EduLeo, Liditz09, Addbot, BOTito, Jarould, Matiia, BenjaBot, Al100124, Indrajitdas, Pollon35HD,
Electronluis y Annimos: 137

7.2 Imgenes
Archivo:AMI_486DX_EISA_BIOS_20051109.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/0/0e/AMI_486DX_
EISA_BIOS_20051109.jpg Licencia: CC BY-SA 2.0 Colaboradores: File:Motherboard_Baby_AT.jpg Artista original: Andrew Dunn
Archivo:Television_remote_control.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/7/7f/Television_remote_control.
jpg Licencia: Public domain Colaboradores: ? Artista original: ?

7.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Sistemas monolticos

Los sistemas monolticos son aquellos en los que su centro


es un grupo de estructuras jas, las cuales funcionan entre
s.
En los sistemas operativos Monolticos, existen mdulos
grandes en el ncleo, los cuales interactan entre s, para
poder tener esta estructura, las diferentes partes del kernel
son compiladas por capas.
Los sistemas monolticos se describen en tres procesos
principales:
- Un programa principal que invoca el procedimiento de
servicio solicitado.
- Un conjunto de procedimientos de servicio que llevan a
cabo las llamadas del sistema.
- Un conjunto de procedimientos de utilera que ayudan
a los procedimientos del servicio.
En teora un procedimiento dado puede invocar a ciertos
servicios los cuales a su vez se vern ayudados por pro-
gramas de utilera los cuales extraeran informacin im-
portante para este.

1 Referencias

1
2 2 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

2 Origen del texto y las imgenes, colaboradores y licencias


2.1 Texto
Sistemas monolticos Fuente: https://es.wikipedia.org/wiki/Sistemas_monol%C3%ADticos?oldid=97474391 Colaboradores: Jecanre,
BOT-Superzerocool, Blackangel8k, CEM-bot, Damifb, Netito777, Technopat, Shooke, Muro Bot, Tarawa1943, Ralts123, Rauletemunoz,
Xoom44, Jarould, Matiia, BenjaBot, NinoBot, LauraAPSUA y Annimos: 19

2.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701

2.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Mquina virtual

Arquitectura tpica de una mquina virtual.

Funcionamiento de la mquina virtual de Java, una de las m-


quinas virtuales de proceso ms populares.

VirtualBox

Funcionamiento de VMWare, una de las mquinas virtuales de


sistema ms populares.
En informtica una mquina virtual es un software que
simula a un ordenador y puede ejecutar programas como
si fuese un ordenador real. Este software en un princi- 1 Tipos de mquinas virtuales
pio fue denido como un duplicado eciente y aislado
de una mquina fsica. La acepcin del trmino actual- Las mquinas virtuales se pueden clasicar en dos gran-
mente incluye a mquinas virtuales que no tienen ninguna des categoras segn su funcionalidad y su grado de equi-
equivalencia directa con ningn hardware real. valencia a una verdadera mquina.
Una caracterstica esencial de las mquinas virtuales es
que los procesos que ejecutan estn limitados por los re- Mquinas virtuales de sistema (en ingls System
cursos y abstracciones proporcionados por ellas. Es- Virtual Machine)
tos procesos no pueden escaparse de esta computadora
virtual. Mquinas virtuales de proceso (en ingls Process
Uno de los usos domsticos ms extendidos de las m- Virtual Machine)
quinas virtuales es ejecutar sistemas operativos para
probarlos. De esta forma podemos ejecutar un sistema
operativo que queramos probar (GNU/Linux, por ejem- 1.1 Mquinas virtuales de sistema
plo) desde nuestro sistema operativo habitual (Windows
por ejemplo) sin necesidad de instalarlo directamente en Emulacin
nuestra computadora y sin miedo a que se descongure La emulacin se dene como la imitacin de una plata-
el sistema operativo primario. forma de ordenador correcta o de un programa en otra

1
2 1 TIPOS DE MQUINAS VIRTUALES

plataforma o programa. De esa manera, es posible la vi- Las funciones como servicios de terminal (Microsoft ter-
sualizacin de documentos o ejecucin de programas en minal service por ejemplo) y gestores de presentacin se
un ordenador que no estuviera proyectado para hacer esa encuadran en esa capa.
operacin. El emulador es un programa que crea para si Virtualizacin de aplicacin
mismo una capa extra entre una plataforma de ordenador,
denida por la plataforma del host y la plataforma donde Comprende la tecnologa de software, permitiendo la eje-
va a ser reproducida y denida por la plataforma objeti- cucin de aplicaciones en diferentes sistemas operativos
vo; as como transcurre en una mquina fsica, la mquina y distintas plataformas de hardware. Eso signica que
virtual (juez) emulada, es decir simula el hardware de la las aplicaciones pueden ser desarrolladas y escritas pa-
mquina fsica (host) por completo y un sistema operati- ra adoptar el uso de frameworks. Pero las aplicaciones
vo inmutable de otro ordenador puede ser ejecutado. Los que no usufructan esos frameworks no recibirn los be-
ejemplos de emulacin son el Bosch y el QEMU, desa- necios de virtualizacin de la aplicacin. Esa capa de
rrollados por la comunidad del Linux, y el virtual PC del virtualizacin permite.
Mac. Reinicializar la aplicacin en caso de fallo;
Virtualizacin nativa/servidor Iniciar una nueva instancia de la aplicacin que no al-
Signica particionar un servidor fsico en diversos ser- canza los objetivos en el nivel de servicio;
vidores virtuales o mquinas. Cada uno interacta con Responder a interrupciones planeadas y no planeadas;
independencia de los otros equipamientos. Aplicaciones,
datos y usuarios como si fuera un recurso aislado. La vir- Permitir el balanceo de carga de mltiples aplicaciones
tualizacin del servidor permite que la mquina virtual para alcanzar niveles altos de escalabilidad.
simule el hardware necesario para que un sistema ope- Microsoft explica que la virtualizacin de aplicacin pro-
rativo no modicado puede ser ejecutado aisladamente, porciona la capacidad de disponibilidad de aplicaciones a
compartiendo la misma CPU de la mquina fsica. Los ordenadores de usuarios nales sin la necesidad de insta-
ejemplos de virtualizacin nativa/servidor son Vmware lar las aplicaciones directamente en sus ordenadores. Eso
Workstation, IBM VM Y Parallels. (Miguel Daro Gon- es posible gracias a un proceso conocido como secuen-
zlez Ros. (2014). tecnologas de virtualizacin. Estados ciamiento de aplicacin, que permite que cada aplicacin
unidos: It campus academy). ejecute su propio entorno virtual de forma independien-
Para-virtualizacin te del ordenador cliente. Las aplicaciones secuenciadas
son aisladas unas de las otras, eliminando conictos entre
Al contrario de la virtualizacin nativa, en la para- aplicaciones, pero aun as ellos son capaces de interactuar
virtualizacin, el hardware de la mquina fsica no es si- con el ordenador cliente. (Miguel Daro Gonzlez Ros.
mulado en el sistema operativo de la mquina virtual. Se (2014). tecnologas de virtualizacin. Estados unidos: It
pasa el uso de una interface de programacin incorporada campus academy).
que la aplicacin puede utilizar para tomar los requisitos
del sistema operativo modicado de la mquina virtual. Virtualizacin de procesamiento
Vmware ESX server y citrix xen utilizan esa tecnologa. La capa de procesamiento agrega tecnologas de hardwa-
(Miguel Daro Gonzlez Ros. (2014). tecnologas de vir- re y software que ocultan conguraciones fsicas de hard-
tualizacin. estados unidos: It campus academy). ware de servicios de sistemas, sistemas operativos y apli-
Virtualizacin a nivel sistema operativo caciones. La tecnologa comprender la habilidad de pre-
sentar un sistema fsico a diversos recursos o viceversa.
La virtualizacin a nivel sistema operativo permite mu- La virtualizacin de procesamiento es utilizada, princi-
cha seguridad para la ejecucin de servidores virtuales y palmente, en la consolidacin de mltiples entornos en
servidores fsicos, compartiendo el mismo sistema opera- un nico sistema con alta disponibilidad. (Miguel Daro
tivo, sin embargo de forma aislada, sin que uno interera Gonzlez Ros. (2014). tecnologas de virtualizacin. Es-
en la ejecucin en las aplicaciones del otro. La virtuali- tados unidos: It campus academy).
zacin a nivel de sistema operativo es la base de tecno-
loga de los sistemas de virtualizacin Solaris containers, Virtualizacin de almacenamiento
bsd jails, y Linux server. (Miguel Daro Gonzlez Ros. Comprenden las tecnologas de software y hardware que
(2014). tecnologas de virtualizacin. Estados unidos: It ocultan quien son los sistemas de almacenamiento (sto-
campus academy). rage) y que tipo de equipamiento soporta aplicaciones
Virtualizacin de acceso y datos. La tecnologa ofrece diversos benecios. Entre
esos, permite que diferentes sistemas fsicos compartan
La virtualizacin de acceso incluye tecnologas de hard- un mismo recurso de almacenamiento, de forma transpa-
ware y software que permiten a cualquier equipamiento rente, de unos hacia los otros, copias de backup de aplica-
acceder a cualquier aplicacin aun sin tener mucho cono- ciones transaccionales en entorno en produccin y, prin-
cimiento sobre el otro. La aplicacin visualiza el equi- cipalmente, la reduccin de costes con compraventas de
pamiento con el cual est habituado a trabajar. El equipa- nuevos equipamientos de storage para almacenamiento
miento ve la aplicacin y ya sabe lo que debe mostrar.
3.2 Emulacin de un sistema no nativo 3

y replicacin de datos en el datacenters. (Miguel Daro


Gonzlez Ros. (2014). tecnologas de virtualizacin. Es-
tados unidos: It campus academy).
Virtualizacin de red.
Agrega tecnologas de software y hardware que presenta
una visin de la red que se diere de la visin fsica. De
esa forma, un ordenador puede ver solamente los siste-
mas que tiene permiso de acceso. Otra forma de utiliza-
cin es consolidar mltiples conexiones de redes en una
nica. (Miguel Daro Gonzlez Ros. (2014). tecnologas
de virtualizacin. Estados unidos: It campus academy).

Monitor de tipo I.
1.2 Mquinas virtuales de proceso
Una mquina virtual de proceso, a veces llamada m-
quina virtual de aplicacin, se ejecuta como un proce-
so normal dentro de un sistema operativo y soporta un so-
lo proceso. La mquina se inicia automticamente cuando
se lanza el proceso que se desea ejecutar y se detiene pa-
ra cuando ste naliza. Su objetivo es el de proporcionar
un entorno de ejecucin independiente de la platafor-
ma de hardware y del sistema operativo, que oculte
los detalles de la plataforma subyacente y permita que un
programa se ejecute siempre de la misma forma sobre
cualquier plataforma.

2 Inconvenientes de las mquinas


virtuales Monitor de tipo II.

Uno de los inconvenientes de las mquinas virtuales es


usuarios pueden ejecutar dos o ms sistemas operativos
que agregan gran complejidad al sistema en tiempo de
distintos simultneamente en computadoras privadas
ejecucin. Esto tiene como efecto la ralentizacin del sis-
virtuales.
tema, es decir, el programa no alcanzar la misma ve-
locidad de ejecucin que si se instalase directamente en El sistema pionero que utiliz este concepto fue la CP-40,
el sistema operativo antrin (host) o directamente so- la primera versin (1967) de la CP/CMS de IBM (1967-
bre la plataforma de hardware. Sin embargo, a menudo 1972) y el precursor de la familia VM de IBM (de 1972
la exibilidad que ofrecen compensa esta prdida de e- en adelante). Con la arquitectura VM, la mayor parte de
ciencia. usuarios controlan un sistema operativo monousuario re-
lativamente simple llamado CMS que se ejecuta en la m-
quina virtual VM.
3 Tcnicas Actualmente tanto Intel como AMD han introducido
prestaciones a sus procesadores x86 para permitir la vir-
3.1 Emulacin del hardware subyacente tualizacin de hardware.
(ejecucin nativa)
Esta tcnica se suele llamar virtualizacin completa (full 3.2 Emulacin de un sistema no nativo
virtualization) del hardware, y se puede implementar
usando un hypervisor de Tipo 1 o de Tipo 2: Las mquinas virtuales tambin pueden actuar como
emuladores de hardware, permitiendo que aplicaciones y
el tipo 1 se ejecuta directamente sobre el hardware. sistemas operativos concebidos para otras arquitecturas
de procesador se puedan ejecutar sobre un hardware que
el tipo 2 se ejecuta sobre otro sistema operativo.
en teora no soportan.
Cada mquina virtual puede ejecutar cualquier sistema Algunas mquinas virtuales emulan hardware que slo
operativo soportado por el hardware subyacente. As los existe como una especicacin. Por ejemplo:
4 7 ENLACES EXTERNOS

La mquina virtual P-Code que permita a los pro- Adeos es una Capa de Abstraccin de Hardware que
gramadores de Pascal crear aplicaciones que se eje- puede ser cargado como un mdulo del ncleo Li-
cutasen sobre cualquier computadora con esta m- nux. Esto permite la carga de un ncleo en tiempo
quina virtual correctamente instalada. real como mdulo, al mismo tiempo que se ejecuta
Linux, pero con una prioridad ms alta.
La mquina virtual de Java.
Denali utiliza la paravirtualizacin para proporcio-
La mquina virtual del entorno .NET. nar mquinas virtuales de alto rendimiento sobre
Open Firmware procesadores x86.
OKL4 utiliza el software libre L4 (microncleo) co-
Esta tcnica permite que cualquier computadora pueda mo un hypervisor para proporcionar una solucin de
ejecutar software escrito para la mquina virtual. Slo la virtualizacin de alto rendimiento para sistemas em-
mquina virtual en s misma debe ser portada a cada una bebidos.
de las plataformas de hardware.
OpenVZ para Linux
3.3 Virtualizacin a nivel de sistema ope-
rativo Parallels

Esta tcnica consiste en dividir una computadora en va- QEMU puede emular una variedad de arquitecturas
rios compartimentos independientes de manera que en de CPU sobre muchas plataformas distintas.
cada compartimento podamos instalar un servidor. A
estos compartimentos se los llama entornos virtuales. Virtual Iron
Desde el punto de vista del usuario, el sistema en su con-
junto acta como si realmente existiesen varios servido-
Virtuozzo
res ejecutndose en varias mquinas distintas. Dos ejem-
plos son las zonas de Solaris (Solaris Zones) y la tcnica
de Micro Partioning de AIX. VMware

Xen
4 Lista de hardware con soporte
para virtualizacin KVM

AMD-V (anteriormente llamado Pacica)


6 Vase tambin
ARM TrustZone
Virtualizacin
Boston Circuits gCore (grid-on-chip) con ncleos 16
ARC 750D y mdulo de virtualizacin de hardware
Time-machine.
7 Enlaces externos
Freescale PowerPC MPC8572 y MPC8641D
IBM System/370, System/390 y mainframes ZSe- Virtualizacin, ParaVirtualizacion, FullVirtualiza-
ries cion Todas las Plataformas

Intel VT (anteriormente llamado Vanderpool) Apuntes sobre mquinas virtuales de la UNED


(Universidad Nacional de Educacin a Distancia
SPARC de Sun Microsystems (Espaa))

Comparacin de Funcionamiento entre Xen, UML,


Vserver y VMWARE (en ingls)
5 Lista de mquinas virtuales
J. L. Medina - vExpert 2009. Be Virtual, My
5.1 Descripciones ampliadas para aplica- Friend - Blog de virtualizacion en Castellano.
ciones de virtualizacin seleccionadas
Los productos de software siguientes son capaces de vir-
tualizar el hardware de modo que varios sistemas opera-
tivos puedan compartirlo.
5

8 Origen del texto y las imgenes, colaboradores y licencias


8.1 Texto
Mquina virtual Fuente: https://es.wikipedia.org/wiki/M%C3%A1quina_virtual?oldid=97637510 Colaboradores: Vcarceler, Rosarino,
Sms, Jecanre, Pablomdo, Cinabrium, Darz Mol, Rembiapo pohyiete (bot), Orgullobot~eswiki, RobotQuistnix, Mortadelo, Unf, Chobot,
Pertile, Yrbot, Vitamine, YurikBot, Martingala, GermanX, Lord Senil, Gaijin, KnightRider, The Photographer, Baneld, Facon, Grizzly
Sigma, Galustiza, Ale cyn, Efepe, CEM-bot, Laura Fiorucci, Roberpl, Soyanede, Rosarinagazo, Dorieo, Thijs!bot, Alvaro qc, Cansa-
do, RoyFocker, Mpeinadopa, JAnDbot, Wybot, CommonsDelinker, TXiKiBoT, ColdWind, Nioger, Delphidius, Bucephala, AlnoktaBOT,
VolkovBot, Snakeyes, Technopat, C'est moi, Matdrodes, BlackBeast, Shooke, 3coma14, Muro Bot, SieBot, Loveless, Cobalttempest, Mel
23, Jarisleif, Eduardosalg, Leonpolanco, Alexbot, PC ARC, AVRS, Trivi88, UA31, AVBOT, Nico89abc, Sbelza, Nelote, Rizome, Die-
gusjaimes, Lasusirexula, Luckas Blade, Hidro, Arjuno3, Saloca, Luckas-bot, Centroamericano, ArthurBot, SuperBraulio13, Xqbot, Jkbw,
Ricardogpn, Bot0811, Jlmedinan, Jorge c2010, EmausBot, Sergio Andres Segovia, Rubpe19, Waka Waka, KLBot2, Martin Ariel Rami-
rez, Gohst~eswiki, LlamaAl, Elvisor, DanielithoMoya, Helmy oved, Zerabat, Addbot, AVIADOR-bot, Jarould, Vtor, Ks-M9, JosepAPV,
Germangp, Gaam85 y Annimos: 162

8.2 Imgenes
Archivo:Java-jvm.png Fuente: https://upload.wikimedia.org/wikipedia/commons/0/0d/Java-jvm.png Licencia: CC-BY-SA-3.0 Colabo-
radores: Trabajo propio Artista original: Baptiste MATHUS
Archivo:VMM-Type1.JPG Fuente: https://upload.wikimedia.org/wikipedia/commons/5/53/VMM-Type1.JPG Licencia: Public domain
Colaboradores: Trabajo propio Artista original: Qingqing Chen
Archivo:VMM-Type2.JPG Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1a/VMM-Type2.JPG Licencia: Public domain
Colaboradores: Trabajo propio Artista original: Qingqing Chen
Archivo:VM_Monitor_IBM_VM_370.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/3/3d/VM_Monitor_IBM_VM_
370.jpg Licencia: Public domain Colaboradores: http://de.wikipedia.org/wiki/Bild:VM_Monitor_IBM_VM_370.jpg Artista original:
Segelschichen
Archivo:VMware-schema.png Fuente: https://upload.wikimedia.org/wikipedia/commons/7/71/VMware-schema.png Licencia: CC BY-
SA 3.0 Colaboradores: RadekK Artista original: Radoslaw Korzeniewski
Archivo:VirtualBox2.png Fuente: https://upload.wikimedia.org/wikipedia/commons/a/af/VirtualBox2.png Licencia: GFDL Colaborado-
res: Hidro (<a href='//commons.wikimedia.org/wiki/User_talk:Hidro' title='User talk:Hidro'>talk</a>) Artista original: VirtualBox: Sun
Microsystems, Inc., innotek GmbH; other works: various

8.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Cliente-servidor

tes cada vez que estos son solicitados. Esto signica que
todas las gestiones que se realizan se concentran en el ser-
vidor, de manera que en l se disponen los requerimien-
tos provenientes de los clientes que tienen prioridad, los
archivos que son de uso pblico y los que son de uso res-
tringido, los archivos que son de slo lectura y los que,
por el contrario, pueden ser modicados, etc. Este tipo
de red puede utilizarse conjuntamente en caso de que se
est utilizando en una red mixta.

Un diagrama cliente-servidor va Internet. 1 Caractersticas


La arquitectura cliente-servidor es un modelo de apli- En la arquitectura C/S el remitente de una solicitud es
cacin distribuida en el que las tareas se reparten entre los conocido como cliente. Sus caractersticas son:
proveedores de recursos o servicios, llamados servidores,
y los demandantes, llamados clientes. Un cliente realiza Es quien inicia solicitudes o peticiones, tienen por
peticiones a otro programa, el servidor, quien le da res- tanto un papel activo en la comunicacin (dispositivo
puesta. Esta idea tambin se puede aplicar a programas maestro o amo).
que se ejecutan sobre una sola computadora, aunque es
ms ventajosa en un sistema operativo multiusuario dis- Espera y recibe las respuestas del servidor.
tribuido a travs de una red de computadoras.
Por lo general, puede conectarse a varios servidores
Algunos ejemplos de aplicaciones computacionales que a la vez.
usen el modelo cliente-servidor son el Correo electrnico,
un Servidor de impresin y la World Wide Web Normalmente interacta directamente con los usua-
rios nales mediante una interfaz grca de usuario.
En esta arquitectura la capacidad de proceso est repar-
tida entre los clientes y los servidores, aunque son ms
importantes las ventajas de tipo organizativo debidas a la Al receptor de la solicitud enviada por el cliente se co-
centralizacin de la gestin de la informacin y la sepa- noce como servidor. Sus caractersticas son:
racin de responsabilidades, lo que facilita y clarica el
diseo del sistema. Al iniciarse esperan a que lleguen las solicitudes de
los clientes, desempean entonces un papel pasivo
La separacin entre cliente y servidor es una separacin
en la comunicacin (dispositivo esclavo).
de tipo lgico, donde el servidor no se ejecuta necesa-
riamente sobre una sola mquina ni es necesariamente Tras la recepcin de una solicitud, la procesan y lue-
un slo programa. Los tipos especcos de servidores in- go envan la respuesta al cliente.
cluyen los servidores web, los servidores de archivo, los
servidores del correo, etc. Mientras que sus propsitos Por lo general, acepta las conexiones de un gran n-
varan de unos servicios a otros, la arquitectura bsica mero de clientes (en ciertos casos el nmero mximo
seguir siendo la misma. de peticiones puede estar limitado).

Una disposicin muy comn son los sistemas multica-


En la arquitectura C/S sus caractersticas generales son:
pa en los que el servidor se descompone en diferen-
tes programas que pueden ser ejecutados por diferentes
computadoras aumentando as el grado de distribucin El Cliente y el Servidor pueden actuar como una so-
del sistema. la entidad y tambin pueden actuar como entidades
separadas, realizando actividades o tareas indepen-
La red cliente-servidor es una red de comunicaciones en dientes.
la cual los clientes estn conectados a un servidor, en el
que se centralizan los diversos recursos y aplicaciones con Las funciones de Cliente y Servidor pueden estar en
que se cuenta; y que los pone a disposicin de los clien- plataformas separadas, o en la misma plataforma.

1
2 4 VENTAJAS

Cada plataforma puede ser escalable independien- para actuar como clientes simples, mientras que el servi-
temente. Los cambios realizados en las plataformas dor acta como una cola que va capturando las peticiones
de los Clientes o de los Servidores, ya sean por ac- de los clientes (un proceso que debe pasar sus peticiones
tualizacin o por reemplazo tecnolgico, se realizan a otro, lo hace a travs de una cola, por ejemplo, una con-
de una manera transparente para el usuario nal. sulta a una base de datos, entonces, el segundo proceso
conecta con la base de datos, elabora la peticin, la pasa
La interrelacin entre el hardware y el software estn
a la base de datos, etc.). Esta arquitectura permite sim-
basados en una infraestructura poderosa, de tal for-
plicar en gran medida la implementacin de software.
ma que el acceso a los recursos de la red no muestra
La arquitectura P2P originalmente se bas en el concep-
la complejidad de los diferentes tipos de formatos
to Cliente-Cola-Cliente.
de datos y de los protocolos.
Su representacin tpica es un centro de trabajo
(PC), en donde el usuario dispone de sus propias 3 Arquitecturas multi-capas
aplicaciones de ocina y sus propias bases de da-
tos, sin dependencia directa del sistema central de La arquitectura cliente/servidor genrica tiene dos tipos
informacin de la organizacin. de nodos en la red: clientes y servidores. Consecuente-
mente, estas arquitecturas genricas se reeren a veces
Los servidores pueden ser aptridas o stateful. Un ser- como arquitecturas de dos niveles o dos capas.
vidor aptrida no guarda ninguna informacin entre las
peticiones. Un servidor stateful puede recordar la infor- Algunas redes disponen de tres tipos de nodos:
macin entre las peticiones. El alcance de esta informa-
cin puede ser global o sesin-especco. Un servidor del Clientes que interactan con los usuarios nales.
HTTP para las pginas estticas del HTML es un ejemplo
de un servidor aptrida mientras que Apache Tomcat es Servidores de aplicacin que procesan los datos para
un ejemplo de un servidor stateful. los clientes.

La interaccin entre el cliente y el servidor se describe a Servidores de la base de datos que almacenan los
menudo usando diagramas de secuencia. Los diagramas datos para los servidores de aplicacin.
de secuencia se estandarizan en el UML. Es importante
que los clientes no interacten entre s ni que lo hagan Esta conguracin se llama una arquitectura de tres-
clientes de capas bajas hacia otros de capas ms altas, por capas.
eso todo tiene que pasar por el servidor.
Otro tipo de arquitectura de red se conoce como arquitec- Ventajas de las arquitecturas n-capas:
tura del par-a-par porque cada nodo o caso del programa
es un cliente y un servidor y cada uno tiene responsa- La ventaja fundamental de una arquitectura n-
bilidades equivalentes. Ambas arquitecturas estn en uso capas comparado con una arquitectura de dos
amplio. tener encuenta que todo va en red --> niveles (o una tres-capas con una de dos nive-
les) es que separa hacia fuera el proceso, eso
ocurre para mejorar el balance la carga en los
2 Comparacin de la arquitectura diversos servidores; es ms escalable.
C/S con otras arquitecturas de
Desventajas de las arquitecturas de la n-capas:
red
Pone ms carga en la red, debido a una
2.1 Comparacin con las redes de pares mayor cantidad de trco de la red.
Es mucho ms difcil programar y probar
Las redes de pares, tambin conocidas como redes par-
el software que en arquitectura de dos ni-
a-par o peer-to-peer (abreviado con las siglas P2P) son
veles porque tienen que comunicarse ms
otro tipo de arquitectura de red.
dispositivos para terminar la transaccin
de un usuario.
2.2 Comparacin con la arquitectura
Cliente-Cola-Cliente
4 Ventajas
Si bien la clsica arquitectura C/S requiere uno de los
puntos terminales de comunicacin para actuar como un Centralizacin del control: los accesos, recursos y la
servidor, que puede ser algo ms difcil de aplicar, la ar- integridad de los datos son controlados por el servi-
quitectura Cliente-Cola-Cliente habilita a todos los nodos dor de forma que un programa cliente defectuoso o
3

no autorizado no pueda daar el sistema. Esta cen- 6 Direccin


tralizacin tambin facilita la tarea de poner al da
datos u otros recursos (mejor que en las redes P2P).. Los mtodos de direccin en ambientes del servidor de
cliente se pueden describir como sigue:
Escalabilidad: se puede aumentar la capacidad de
clientes y servidores por separado. Cualquier ele-
mento puede ser aumentado (o mejorado) en cual- Direccin del proceso de la mquina: la direccin
quier momento, o se pueden aadir nuevos nodos a se divide como proceso@mquina. Por lo tanto
la red (clientes y/o servidores). 56@453 indicara el proceso 56 en la computadora
453.
Fcil mantenimiento: al estar distribuidas las funcio-
nes y responsabilidades entre varios ordenadores in- Servidor de nombres: los servidores de nombres tie-
dependientes, es posible reemplazar, reparar, actua- nen un ndice de todos los nombres y direcciones de
lizar, o incluso trasladar un servidor, mientras que servidores en el dominio relevante.
sus clientes no se vern afectados por ese cambio (o
Localizacin de Paquetes: Los mensajes de difusin
se afectarn mnimamente). Esta independencia de
se envan a todas las computadoras en el sistema dis-
los cambios tambin se conoce como encapsulacin.
tribuido para determinar la direccin de la compu-
Existen tecnologas, sucientemente desarrolladas, tadora de la destinacin.
diseadas para el paradigma de C/S que aseguran la Comerciante: Un comerciante es un sistema que po-
seguridad en las transacciones, la amigabilidad de la ne en un ndice todos los servicios disponibles en un
interfaz, y la facilidad de empleo. sistema distribuido. Una computadora que requie-
re un servicio particular comprobar con el servicio
que negocia para saber si existe la direccin de una
5 Desventajas computadora que proporciona tal servicio.

La congestin del trco ha sido siempre un proble-


ma en el paradigma de C/S. Cuando una gran canti- 7 Ejemplos
dad de clientes envan peticiones simultneas al mis-
mo servidor, puede ser que cause muchos problemas La mayora de los servicios de Internet son tipo de cliente-
para ste (a mayor nmero de clientes, ms proble- servidor. La accin de visitar un sitio web requiere una
mas para el servidor). Al contrario, en las redes P2P arquitectura cliente-servidor, ya que el servidor web sirve
como cada nodo en la red hace tambin de servidor, las pginas web al navegador (al cliente). Al leer este ar-
cuanto ms nodos hay, mejor es el ancho de banda tculo en Wikipedia , la computadora y el navegador web
que se tiene. del usuario seran considerados un cliente; y las compu-
tadoras, las bases de datos, y los usos que componen Wi-
El paradigma de C/S clsico no tiene la robustez de
kipedia seran considerados el servidor. Cuando el nave-
una red P2P. Cuando un servidor est cado, las pe-
gador web del usuario solicita un artculo particular de
ticiones de los clientes no pueden ser satisfechas.
Wikipedia, el servidor de Wikipedia recopila toda la in-
En la mayor parte de redes P2P, los recursos es-
formacin a mostrar en la base de datos de Wikipedia, la
tn generalmente distribuidos en varios nodos de la
articula en una pgina web, y la enva de nuevo al nave-
red. Aunque algunos salgan o abandonen la descar-
gador web del cliente.
ga; otros pueden todava acabar de descargar consi-
guiendo datos del resto de los nodos en la red. Otro ejemplo podra ser el funcionamiento de un juego
online. Si existen dos servidores de juego, cuando un
El software y el hardware de un servidor son gene- usuario lo descarga y lo instala en su computadora pasa a
ralmente muy determinantes. Un hardware regular ser un cliente. Si tres personas juegan en un solo compu-
de un ordenador personal puede no poder servir a tador existiran dos servidores, un cliente y tres usuarios.
cierta cantidad de clientes. Normalmente se nece- Si cada usuario instala el juego en su propio ordenador
sita software y hardware especco, sobre todo en existiran dos servidores, tres clientes y tres usuarios.
el lado del servidor, para satisfacer el trabajo. Por
supuesto, esto aumentar el coste.

El cliente no dispone de los recursos que puedan


8 Cooperacin cliente-servidor
existir en el servidor. Por ejemplo, si la aplicacin
es una Web, no podemos escribir en el disco du- 8.1 Mltiple Server
ro del cliente o imprimir directamente sobre las
impresoras sin sacar antes la ventana previa de im- Para que un proceso se realice de la mejor manera,
presin de los navegadores. es preferible utilizar terminales distintos realizando la
4 11 REFERENCIAS

misma tarea, a centralizar los recursos y que con ms


hardware/software se realice la misma tarea. Con la eje-
cucin de mltiples servidores el procesamiento es ms
rpido, el tiempo de respuesta es descentralizado y se in-
crementa la conabilidad.

8.1.1 Cooperacin de procesos paralelos

El mismo proceso se ejecuta simultneamente (sistemas


redundantes).

8.1.2 Cooperacin de base de datos

Si se requiere de cierta informacin ya existente, por qu


crearla de nuevo, simplemente interacta y aprovecha la
informacin ya creada.

9 Componentes bsicos del modelo


Cliente-Servidor
En esta aproximacin, y con el objetivo de denir y deli-
mitar el modelo de referencia de una arquitectura Clien-
te/Servidor, se identican cinco componentes que permi-
tan articular dicha arquitectura, considerando que toda
aplicacin de un sistema de informacin est caracteriza-
da por lo siguiente:

Presentacin/Captacin de la informacin.
Procesos.

Almacenamiento de la informacin.
Puestos de trabajo

Comunicaciones.

10 Vase tambin
Cliente

Cliente hbrido
Servidor

Par-a-par
Lado del cliente

11 Referencias
5

12 Origen del texto y las imgenes, colaboradores y licencias


12.1 Texto
Cliente-servidor Fuente: https://es.wikipedia.org/wiki/Cliente-servidor?oldid=97687126 Colaboradores: Hashar, Vanbasten 23, Comae,
Rosarino, Leti rst, Ejrrjs, Ascnder, Sms, Rsg, Tano4595, El Moska, Robotito, Marayaf, Geom, Rapomon, Robotkarel, Boticario, Petronas,
Taichi, Emijrp, Rembiapo pohyiete (bot), Orgullobot~eswiki, RobotQuistnix, Francosrodriguez, Platonides, Chobot, DerkeNuke, FlaBot,
Vitamine, .Sergio, YurikBot, GermanX, Gaijin, KnightRider, Jesuja, Er Komandante, Tomatejc, BOTpolicia, CEM-bot, Baiji, Antur,
Thijs!bot, VARGUX, P.o.l.o., RoyFocker, Isha, Egaida, Mpeinadopa, JAnDbot, Efranfull, Skippan, BetBot~eswiki, Muro de Aguas, TXi-
KiBoT, Danthux, Gacq, Plux, Jmvkrecords, Alfredo Novoa, Cinevoro, VolkovBot, Jose gueredo, Matdrodes, BlackBeast, Keres, Lucien
leGrey, Vatelys, AlleborgoBot, Larober, SieBot, Loveless, Drinibot, SPZ, Belb, Tirithel, Jarisleif, Marcecoro, HUB, DragonBot, Eduardo-
salg, Stoleman, Leonpolanco, Pan con queso, LordT, Rge, Jrachyr, Xmonmany, Camilo, UA31, AVBOT, JAQG, MastiBot, MarcoAurelio,
Diegusjaimes, DumZiBoT, Arjuno3, Favargass, Dangelin5, Barteik, Elnoidelastra, ArthurBot, SuperBraulio13, Sourcegeek, Xqbot, Jkbw,
Aricel, Surfaz, Igna, Botarel, Pyr0, Panderine!, Halfdrag, Abece, Edgardo C, PatruBOT, Guilli94, Edslov, EmausBot, Savh, ZroBot, Ser-
gio Andres Segovia, JackieBot, Jcaraballo, Palissy, KLBot2, Gusama Romero, Makecat-bot, Mgyugcha, Jarould, Erick.1994, NinoBot,
Fernando2812l, Ks-M9, Krassnine y Annimos: 252

12.2 Imgenes
Archivo:Client-server-model.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/c/c9/Client-server-model.svg Licencia:
LGPL Colaboradores:
Gnome-fs-client.svg Artista original: Gnome-fs-client.svg: David Vignoni
Archivo:Commons-emblem-issue.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/b/bc/Commons-emblem-issue.svg
Licencia: GPL Colaboradores: File:Gnome-emblem-important.svg Artista original: GNOME icon artists and User:ViperSnake151

12.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Arranque (informtica)

que el ltimo de ellos carga el sistema operativo.


En las computadoras modernas (despus de 1975), el pro-
ceso de arranque comienza con la CPU ejecutando los
programas contenidos en la memoria ROM en una direc-
cin predenida (se congura la CPU para ejecutar este
programa, sin ayuda externa, al encender la computado-
ra).

1.1 Cargador de arranque de segunda eta-


pa

Fase posterior al del POST de una PC basada en rmware BIOS.

Plymouth desplegando una animacin en Fedora.

Este programa contiene funcionalidades rudimentarias


para buscar unidades que se puedan seleccionar para par-
Fase de carga de GNU/Linux (Knoppix). ticipar en el arranque, y cargar un pequeo programa des-
de una seccin especial de la unidad ms prometedora. El
En informtica, el arranque o secuencia de arranque pequeo programa no es, en s mismo, un sistema opera-
(en ingls: boot o booting) es el proceso que inicia el tivo sino, simplemente, un cargador de arranque de se-
gestor de arranque que es un programa ejecutado por el gundo nivel, como Lilo o Grub, que es capaz de cargar el
BIOS cuando se enciende una computadora. Se encarga sistema operativo propiamente dicho y, nalmente, trans-
de la inicializacin del sistema operativo y de los dispo- ferirle el control. El sistema se auto-iniciar y puede car-
sitivos. gar los controladores de dispositivos y otros programas
que son necesarios para el normal funcionamiento del sis-
tema operativo.
1 Cargador de arranque El proceso de arranque se considera completo cuando la
computadora est preparada para contestar a los reque-
Un cargador o gestor de arranque (en ingls: bootloa- rimientos del exterior. La tpica computadora moderna
der) es un programa sencillo (que no tiene la totalidad arranca en, aproximadamente, un minuto (del cual, 15
de las funcionalidades de un sistema operativo) diseado segundos son empleados por los cargadores de arranque
exclusivamente para preparar todo lo que necesita el sis- preliminares y, el resto, por el cargador del sistema ope-
tema operativo para funcionar. Normalmente se utilizan rativo), mientras que los grandes servidores pueden nece-
los cargadores de arranque multietapas, en los que varios sitar varios minutos para arrancar y comenzar todos los
programas pequeos se suman los unos a los otros, hasta servicios; para asegurar una alta disponibilidad, ofrecen

1
2 5 ENLACES EXTERNOS

unos servicios antes que otros.


La mayora de los sistemas embebidos deben arrancar ca-
si instantneamente, por ejemplo, esperar un minuto para
poder ver la televisin se considera inaceptable. Por ello,
tienen el sistema operativo en la ROM o memoria ash,
gracias a lo que pueden ser ejecutados de forma casi ins-
tantnea.

2 Bootsplash & Splashy


En Linux, durante el proceso de arranque se muestra por
pantalla la secuencia de mdulos y otros componentes del
sistema operativo en modo texto. Por defecto se mues-
tra as, pero un parche llamado splashy,[1] (sustituto de
bootsplash[2] ) permite ocultar esas lneas de texto (con la
opcin quiet y splash en las lneas de arranque), ofre-
ciendo en su lugar una imagen ms amigable, con una
barra de progreso. No obstante se puede cambiar al mo-
do verbose (detallado) pulsando la tecla F2, lo que nos
mostrar de nuevo los mensajes propios del proceso de
arranque. Tambin dota a la consola de Linux de un fon-
do totalmente congurable.
Todo esto es posible gracias al framebuer, que nos posi-
bilita las consolas a resoluciones y profundidades de color
altas.

3 Vase tambin
Bootloader
Bootstrapping
Master Boot Record
MSCong
Proceso de arranque en Linux

4 Referencias
[1] http://splashy.alioth.debian.org/wiki
[2] http://web.archive.org/web/http://www.bootsplash.org/
Welcome_to_the_graphical_world_of_Linux

5 Enlaces externos

Wikimedia Commons alberga contenido multi-


media sobre Arranque. Commons
Gag: Gestor de Arranque Grco
Pgina de BootSplash
El cdigo de un IPL en GNU ensamblador
3

6 Origen del texto y las imgenes, colaboradores y licencias


6.1 Texto
Arranque (informtica) Fuente: https://es.wikipedia.org/wiki/Arranque_(inform%C3%A1tica)?oldid=98185560 Colaboradores: Josea-
perez, Sabbut, Moriel, Wesisnay, Robbot, Sanbec, Zwobot, Comae, Dodo, Sms, Rsg, Jsanchezes, Beagle~eswiki, 142857, Taichi, Rembiapo
pohyiete (bot), LeCire, RobotQuistnix, Superzerocool, Romanc19s, Yrbot, Baito, BOT-Superzerocool, FlaBot, BOTijo, Icvav, GermanX,
Gtz, Alexquendi, CEM-bot, Roblespepe, Thijs!bot, Isha, Gusgus, JAnDbot, OceanO, Rafa3040, Muro de Aguas, TXiKiBoT, Netito777,
Jjpb1, Almendro, Cinevoro, VolkovBot, Technopat, Mstreet linux, Matdrodes, Elabra sanchez, House, Shooke, AlleborgoBot, Muro Bot,
J.M.Domingo, BotMultichill, SieBot, Loveless, Dani pt, BOTarate, Avenda, Pascow, Greek, El bot de la dieta, LTB, Javierito92, Marceco-
ro, Helenio, DragonBot, PixelBot, Pan con queso, Poco a poco, Alexbot, Albambot, SF007, Diegusjaimes, DumZiBoT, MelancholieBot,
Nallimbot, Ptbotgourou, Jotterbot, Pandachinoman, SuperBraulio13, Xqbot, Jkbw, BenzolBot, EmBOTellado, Hprmedina, RedBot, Patru-
BOT, KamikazeBot, Dinamik-bot, Mister Roboto, TjBot, Jenny.tsukino, EmausBot, ZroBot, Grillitus, WikitanvirBot, MerlIwBot, Satans
va de retro, AvocatoBot, Gins90, Elvisor, Zerabat, Addbot, Lagoset, Marco Ciaramella, Jarould, Bruno Rene Vargas y Annimos: 61

6.2 Imgenes
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
Archivo:Fedora10_plymouth.png Fuente: https://upload.wikimedia.org/wikipedia/commons/f/f1/Fedora10_plymouth.png Licencia:
GFDL Colaboradores: https://fedoraproject.org/ Artista original: Team Fedora
Archivo:Linux_Boot.png Fuente: https://upload.wikimedia.org/wikipedia/commons/8/83/Linux_Boot.png Licencia: Public domain Co-
laboradores: Trabajo propio Artista original: es:Usuario:House
Archivo:PC_Boot.png Fuente: https://upload.wikimedia.org/wikipedia/commons/c/c4/PC_Boot.png Licencia: Public domain Colabora-
dores: Trabajo propio Artista original: es:Usuario:House

6.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Proceso de arranque en Linux

El proceso de arranque en Linux es el proceso de ini- y planicador, y el proceso de Init (que se ejecuta en
cializacin del sistema operativo que realiza Linux el el espacio de usuario).
ncleo o kernel (un componente de este sistema infor-
mtico), el programa en el sistema que asigna los recur- 5. El planicador toma control efectivo de la gestin
sos de la mquina a los otros programas que ejecuta. del sistema, y el ncleo queda dormido (inactivo).

6. El proceso Init ejecuta secuencias de comandos


(Scripts) necesarios para congurar todos los servi-
1 Descripcin general del proceso cios y estructuras que no sean del sistema operativo,
tpico de arranque en gnu/linux a n de permitir que el entorno de usuario sea crea-
do y pueda presentarse al usuario con una pantalla
de inicio de sesin.
En Linux, el ujo de control durante el arranque es desde
el BIOS, al gestor de arranque y al ncleo (kernel). El
ncleo inicia el planicador (para permitir la multitarea) En el apagado, Init es llamado a cerrar toda las funciona-
y ejecuta el primer espacio de usuario (es decir, fuera del lidades del espacio de usuario de una manera controlada,
espacio del ncleo) y el programa de inicializacin (que de nuevo a travs de secuencias de comandos, tras lo cual
establece el entorno de usuario y permite la interaccin el Init termina y el ncleo ejecuta el apagado.
del usuario y el inicio de sesin), momento en el que el
ncleo se inactiva hasta que sea llamado externamente.
La etapa del cargador de arranque no es totalmente nece-
2 Espacio de usuario temprano
saria. Determinadas BIOS pueden cargar y pasar el con-
trol a Linux sin hacer uso del cargador. Cada proceso de El espacio de usuario temprano se utiliza en las ver-
arranque ser diferente dependiendo de la arquitectura siones ms recientes del kernel de Linux para sustituir
del procesador y el BIOS. tantas funciones como sea posible que originalmente se
haran en el ncleo durante el proceso de inicio. Los usos
tpicos del espacio de usuario temprano son para detec-
1. El BIOS realiza las tareas de inicio especcas de la
tar que controladores de dispositivos (Drivers) son nece-
plataforma de hardware.
sarios para cargar el sistema de archivos del espacio de
2. Una vez que el hardware es reconocido y se inicia usuario principal y cargarlos desde un sistema de archi-
correctamente, el BIOS carga y ejecuta el cdigo de vos temporal.
la particin de arranque del dispositivo de arranque
designado, que contiene la fase 1 de un gestor de
arranque Linux. La fase 1 carga la fase 2 (la mayor 3 Fase del cargador de arranque
parte del cdigo del gestor de arranque). Algunos
cargadores pueden utilizar una fase intermedia (co-
Un cargador de arranque (boot loader en ingls) es un pro-
nocida como la fase 1.5) para lograr esto, ya que los
grama diseado exclusivamente para cargar un sistema
modernos discos de gran tamao no pueden ser to-
operativo en memoria. La etapa del cargador de arran-
talmente ledos sin cdigo adicional.
que es diferente de una plataforma a otra.
3. El gestor de arranque a menudo presenta al usuario Como en la mayora de arquitecturas este programa se
un men de opciones posibles de arranque. A conti- encuentra en el MBR, el cual es de 512 bytes, este es-
nuacin, carga el sistema operativo, que descompri- pacio no es suciente para cargar en su totalidad un sis-
me en la memoria, y establece las funciones del sis- tema operativo. Por eso, el cargador de arranque consta
tema como del hardware esencial y la paginacin de de varias etapas. Las primeras operaciones las realiza el
memoria, antes de llamar a la funcin start_kernel(). BIOS. En esta etapa se realizan operaciones bsicas de
4. La funcin start_kernel() a continuacin realiza hardware. En esta primera etapa se localiza el sector de
la mayor parte de la conguracin del sistema arranque (o MBR) y se carga el cargador de este sector
(interrupciones, el resto de la gestin de memoria, (normalmente una parte de LILO o GRUB).
la inicializacin del dispositivo, controladores, etc), A partir de ese momento, el proceso de arranque contina
antes de continuar por separado el proceso inactivo de la siguiente manera:

1
2 4 FASE DEL KERNEL

La primera etapa del cargador de arranque carga el resto comandos. Contiene tres interfaces: un men de selec-
del gestor de arranque, que normalmente da un mensaje cin, un editor de conguracin, y una consola de lnea
que pregunta que sistema operativo (o tipo de sesin) el de comandos.
usuario desea inicializar. Bajo LILO, esto se hace a tra-
vs del mapa instalado que lee el archivo de conguracin
/etc/lilo.conf para identicar los sistemas disponibles. In- 3.2 LILO
cluye datos como la particin de arranque y la localiza-
cin del kernel para cada uno, as como las opciones per- LILO es ms antiguo. Es casi idntico a GRUB en su pro-
sonalizadas en su caso. El sistema operativo seleccionado ceso, excepto que no contiene una interfaz de lnea de
es cargado en la memoria RAM, un sistema de archivos comandos. Por lo tanto todos los cambios en su congu-
mnimo inicial se establece en la memoria RAM desde racin deben ser escritos en el MBR y luego reiniciar el
un archivo de imagen (" initrd "), y junto con los par- sistema. Un error en la conguracin puede dejar el dis-
metros adecuados, el control se pasa al sistema operativo co inservible para el proceso de arranque hasta tal grado,
activado recientemente. que sea necesario usar otro dispositivo (disquete, etc) que
LILO y GRUB dieren en algunos aspectos: contenga un programa capaz de arreglar el error. Ade-
ms, no entiende el sistema de archivos. En su lugar, la
LILO no entiende los sistemas de archivos, por lo ubicacin de los archivos de imagen se almacenan direc-
que utiliza desplazamientos de disco sin procesar y tamente en el MBR y el BIOS se utiliza para acceder a
el BIOS para cargar los datos. Se carga el cdigo del ellos directamente.
men y, a continuacin, en funcin de la respuesta,
carga, o el sector MBR del disco de 512 bytes como
en Microsoft Windows, o la imagen del kernel de 3.3 Loadlin
Linux.
Otra forma de cargar Linux es desde DOS o Windows
GRUB por el contrario comprende los sistemas de 9x, donde el ncleo de Linux reemplaza completamente
archivos comunes ext2 , ext3 y ext4. Debido a que la copia de funcionamiento de estos sistemas operativos.
GRUB almacena sus datos en un archivo de con- Esto puede ser til en el caso de hardware que necesita
guracin en vez de en el MBR y a que contiene un ser conectado a travs del software y la conguracin de
interfaz de lnea de comandos, a menudo es ms fcil estos programas slo est disponible para DOS y no pa-
recticar o modicar GRUB si est mal congurado ra Linux, debido a cuestiones de secretos industriales y
o corrupto. cdigo propietario. Sin embargo, esta tediosa forma de
arranque ya no es necesaria en la actualidad ya que Linux
tiene drivers para multitud de dispositivos hardware. Aun
3.1 GRUB as, esto era muy til en el pasado.
GRUB se carga y se ejecuta en 4 etapas: Otro caso es cuando Linux se encuentra en un dispositi-
vo que el BIOS no lo tiene disponible para el arranque.
1. La primera etapa del cargador la lee el BIOS desde Entonces, DOS o Windows pueden cargar el driver apro-
el MBR. piado para el dispositivo superando dicha limitacin del
BIOS, y cargar Linux desde all.
2. La primera etapa carga el resto del gestor de arran-
que (segunda etapa). Si la segunda etapa est en una
unidad grande, en ocasiones se carga una fase inter-
media 1.5, que contiene cdigo adicional para per- 4 Fase del kernel
mitir que los cilindros por encima de 1024, o unida-
des tipo LBA, puedan leerse. El gestor de arranque El kernel de Linux se encarga de todos los procesos
1.5 es almacenado (si es necesario) en el MBR o en del sistema operativo, como la gestin de memoria,
la particin de arranque. planicador de tareas, I/O, comunicacin entre procesos,
3. La segunda etapa del gestor de arranque ejecuta y y el control general del sistema. Este se carga en dos eta-
muestra el men de inicio de GRUB que permite pa: en la primera etapa el kernel (como un archivo imagen
al usuario elegir un sistema operativo y examinar y comprimido) se carga y se descomprime en memoria, y
modicar los parmetros de inicio. algunas funciones fundamentales como la gestin de me-
moria de base se establecen. El control entonces se cam-
4. Despus de elegir un sistema operativo, se carga y bia a la etapa nal para iniciar el kernel principal. Una
se le pasa el control. vez que el ncleo est en pleno funcionamiento - y como
parte de su puesta en marcha, despus de ser cargado y
GRUB soporta mtodos de arranque directo, arranque ejecutado - el kernel busca un proceso de inicio para eje-
chain-loading, LBA, ext2, ext3, ext4 y hasta un pre- cutar, que (separadamente) ja un espacio de usuario y
sistema operativo en mquinas x86 totalmente basado en los procesos necesarios para un entorno de usuario y ul-
3

timar la entrada . Al ncleo en s entonces se le permite usuario en el espacio de usuario.


pasar a inactivo, sujeto a las llamadas de otros procesos.

5 El proceso de inicio
4.1 Fase de carga del kernel
El trabajo de Init es conseguir que todo funcione como
El kernel es cargado normalmente como un archivo ima- debe ser una vez que el kernel est totalmente en funcio-
gen, comprimido dentro de otro con zlib como zImage o namiento. En esencia, establece y opera todo el espacio
bzImage. Contiene una cabecera de programa que hace de usuario. Esto incluye la comprobacin y montaje de
una cantidad mnima de instalacin del hardware, des- sistemas de archivos, la puesta en marcha los servicios de
comprime la imagen completamente en la memoria alta usuario necesarios y, en ltima instancia, cambiar al en-
, teniendo en cuenta cualquier disco RAM si est con- torno de usuario cuando el inicio del sistema se ha com-
gurado. A continuacin, lleva a cabo su ejecucin. Esto pletado. Es similar a los procesos Init de Unix y BSD,
se realiza llamando la funcin startup del kernel (en los de la que deriva, pero en algunos casos se ha apartado o
procesadores x86 a travs de la funcin startup_32() del se hicieron a la medida. En un sistema Linux estndar,
archivo /arch/i386/boot/head). Init se ejecuta con un parmetro, conocido como nivel de
ejecucin, que tiene un valor entre 1 y 6, y que determina
que subsistemas pueden ser operacionales. Cada nivel de
4.2 Fase de inicio del kernel ejecucin tiene sus propios scripts que codican los dife-
rentes procesos involucrados en la creacin o salida del
La funcin de arranque para el kernel (tambin llamado nivel de ejecucin determinado, y son estas secuencias
intercambiador o proceso 0) establece la gestin de me- de comandos los necesarios en el proceso de arranque.
moria (tablas de paginacin y paginacin de memoria), Los scripts de Init se localizan normalmente en directo-
detecta el tipo de CPU y cualquier funcionalidad adicio- rios con nombres como "/etc/rc.... El archivo de con-
nal como capacidades de punto otante, y despus cam- guracin de ms alto nivel para Init es /etc/inittab.
bia a las funcionalidades del kernel para arquitectura no
especcas de Linux, a travs de una llamada a la funcin Durante el arranque del sistema, se verica si exis-
start_kernel(). te un nivel de ejecucin predeterminado en el archivo
/etc/inittab, si no, se debe introducir por medio de la con-
start_kernel ejecuta una amplia gama de funciones de ini- sola del sistema. Despus se procede a ejecutar todos los
cializacin. Establece el manejo de interrupciones (IRQ), scripts relativos al nivel de ejecucin especicado.
congura memoria adicional, comienza el proceso de ini-
cializacin (procesa el espacio del primer usuario), y lue- Despus de que se han dado lugar todos los procesos es-
go comienza la tarea inactiva a travs de cpu_idle(). En pecicados, Init se aletarga, y espera a que uno de estos
particular, el proceso de inicio del kernel tambin monta tres eventos sucedan:- que procesos comenzados nalicen
el disco RAM inicial ("initrd") que se ha cargado ante- o mueran; un fallo de la seal de potencia (energa); o una
riormente como el sistema raz temporal durante la fase peticin a travs de /sbin/telinit para cambiar el nivel de
de arranque. Esto permite que los mdulos controlado- ejecucin.
res se carguen sin depender de otros dispositivos fsicos
y drivers y mantiene el kernel ms pequeo. El sistema
de archivos raz es cambiado ms tarde a travs de la lla- 6 Enlaces externos
mada a pivot_root(), que desmonta el sistema de archivos
temporal y lo reemplaza por el real una vez que ste sea El cdigo de un IPL en GNU ensamblador
accesible. La memoria utilizada por el sistema de archi-
vos temporal es entonces recuperada.
Por lo tanto, el ncleo inicializa los dispositivos, mon-
ta el sistema de archivos raz especicado por el ges-
tor de arranque como de slo lectura , y se ejecuta Init
(/sbin/init), que es designado como el primer proceso eje-
cutado por el sistema (PID=1). Tambin puede ejecutar
opcionalmente initrd para permitir instalar y cargar dis-
positivos relacionados (disco RAM o similar), para ser
manipulados antes de que el sistema de archivos raz est
montado.
En este punto, con las interrupciones habilitadas, el pro-
gramador puede tomar el control de la gestin general del
sistema, para proporcionar multitarea preventiva, e ini-
ciar el proceso para continuar con la carga del entorno de
4 7 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

7 Origen del texto y las imgenes, colaboradores y licencias


7.1 Texto
Proceso de arranque en Linux Fuente: https://es.wikipedia.org/wiki/Proceso_de_arranque_en_Linux?oldid=97422614 Colaboradores:
Echani, Gaijin, Aeris17, Rafa3040, ColdWind, VolkovBot, Elabra sanchez, BlackBeast, Eduardosalg, PetrohsW, Maxfer~eswiki, Pablo-
carballo, Luckas-bot, Jkbw, RedBot, Omerta-ve, ArwinJ, EmausBot, Facundo-A, KLBot2, Addbot, Mettallzoar, K3v1n2015, NinoBot y
Annimos: 30

7.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701

7.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Cdigo abierto

La expresin, para algunos, no result apropiada como


reemplazo para el ya tradicional free software, pues eli-
minaba la idea de libertad, confundida con la simple gra-
tuidad. No obstante contina siendo ambivalente, puesto
que se usa en la actualidad por parte de programadores
que no ofrecen software libre pero, en cambio, s ofrecen
el cdigo fuente de los programas para su revisin o mo-
dicacin previamente autorizada por parte de sus pares
acadmicos.
Dada la ausencia de tal ambigedad en la lengua espa-
ola, el trmino software libre es adecuado para referirse
a programas que se ofrecen con total libertad de modi-
cacin, uso y distribucin bajo la regla implcita de no
modicar dichas libertades hacia el futuro. De hecho en
R ingls tambin se usa el trmino libre software para
evitar ambigedades semnticas.

open source Desde el punto de vista de una traduccin estrictamente


literal, el signicado textual de cdigo abierto es que se

initiative puede examinar el cdigo fuente, por lo que puede ser


interpretado como un trmino ms dbil y exible que
el del software libre. Sin embargo, ambos movimientos
reconocen el mismo conjunto de licencias y mantienen
principios equivalentes.
Sin embargo, hay que diferenciar los programas de cdigo
abierto, que dan a los usuarios la libertad de mejorarlos,
Logotipo del cdigo abierto.
de los programas que simplemente tienen el cdigo fuente
disponible, previa restricciones sobre su uso o modica-
El cdigo abierto es el software distribuido y desarrolla- cin.
do libremente. Se focaliza ms en los benecios prcticos
En la actualidad el cdigo abierto se utiliza para denir un
(acceso al cdigo fuente) que en cuestiones ticas o de li-
movimiento nuevo de software (la Iniciativa Open Sour-
bertad que tanto se destacan en el software libre. Para mu-
ce), diferente al movimiento del software libre, incompa-
chos el trmino libre hace referencia al hecho de adqui-
tible con este ltimo desde el punto de vista losco, y
rir un software de manera gratuita, pero ms que eso, la
completamente equivalente desde el punto de vista prc-
libertad se reere al poder modicar la fuente del progra-
tico, de hecho, ambos movimientos trabajan juntos en el
ma sin restricciones de licencia, ya que muchas empresas
desarrollo prctico de proyectos.
de software encierran su cdigo, ocultndolo, y restrin-
gindose los derechos a s misma. La idea bajo el concepto de cdigo abierto es sencilla:
cuando los programadores (en Internet) pueden leer, mo-
dicar y redistribuir el cdigo fuente de un programa, este
evoluciona, se desarrolla y mejora. Los usuarios lo adap-
1 Historia tan a sus necesidades, corrigen sus errores con un tiempo
de espera menor a la aplicada en el desarrollo de software
convencional o cerrado, dando como resultado la produc-
Se utiliz por primera vez en 1990 las comunidades de
cin de un mejor software.
software libre, tratando de usarlo como reemplazo al am-
biguo nombre original en ingls del software libre (free
software). Lo cual implica, para el caso que nos ocupa,
software que podemos usar, escribir, modicar y re-
distribuir gratuitamente (software gratuito) y, segn la
acepcin espaola de libertad.

1
2 3 MOVIMIENTO DEL CDIGO ABIERTO

2 Cronologa Entre 1998 y 2000 se observ un gran crecimiento en


la popularidad de GNU/Linux y de la formacin de mu-
27 de septiembre de 1983: Richard Stallman inicia chas empresas pro software de cdigo abierto. El movi-
el proyecto GNU. miento tambin captur la atencin de la principal indus-
tria del software, llevando al software de cdigo abierto
25 de agosto de 1991: Linus Torvalds publica las ofertas de compaas de software consolidadas como
un mensaje en el grupo de noticias USENET Sun Microsystems con StarOce e IBM con OpenAFS.
comp.os.minix acerca del nuevo kernel de tipo Unix
(Linux) que ha estado desarrollando.
22 de enero de 1998: Netscape anuncia que liberar 3 Movimiento del cdigo abierto
el cdigo fuente de Navigator.
3 de febrero de 1998: en la reunin de Palo Alto se
acua el trmino open source y durante la semana
siguiente Bruce Perens y Eric S. Raymond lanzan
opensource.org.
31 de marzo de 1998: el cdigo de Navigator ya es-
t disponible: en unas horas, mejoras del programa
invaden la red.
7 de mayo de 1998: Corel Corporation anuncia Net-
winder, un ordenador econmico que corre bajo
GNU/Linux.
11 de mayo de 1998: Corel anuncia sus planes de
adaptar WordPerfect y el resto de sus programas de
omtica a GNU/Linux.
28 de mayo de 1998: Sun Microsystems y Adaptec Mapa conceptual del software libre y de cdigo abierto.
se unen a Linux International, las primeras grandes
empresas vendedoras de equipos y sistemas opera- La idea del cdigo abierto se centra en la premisa de que
tivos en hacerlo. al compartir el cdigo, el programa resultante tiende a ser
de calidad superior al software propietario, es una visin
13-17 de julio de 1998: Oracle e Informix anuncian
tcnica. Por otro lado, el software libre tiene tendencias
que conectarn sus bases de datos a GNU/Linux.
loscas e incluso morales: el software propietario, al
10 de agosto de 1998: Sun Microsystems ofrece no poder compartirse, es antitico dado que prohibir
Solaris a usuarios individuales e instituciones edu- compartir entre seres humanos va en contra del sentido
cativas o sin nimo de lucro. comn. Ninguna adaptacin ni cambios que no haya rea-
lizado previamente la empresa fabricante.
1 de noviembre de 1998: se publican los Halloween
Documents: planes de Microsoft contra GNU/Linux El cdigo abierto ofrece:
y otros proyectos cdigo abierto.
1. Acceso al cdigo fuente: Para modicarlo, corregir-
16 de diciembre de 1998: IDG anuncia que la cuota lo o aadir ms prestaciones.
de mercado del GNU/Linux se increment un 212%
en 1998. 2. Gratuidad: El software puede obtenerse libremente.

1-5 de marzo de 1999: LinuxWorld Conference and 3. La posibilidad de evitar monopolios de software
Expo: primera exposicin sobre GNU/Linux. HP, propietario: Para no depender de un nico fabrican-
IBM, SAP inician el comienzo del apoyo de las r- te de software.
mas comerciales.
4. Un modelo de avance: Por lo cual la informacin no
15 de marzo de 1999: Apple lanza Darwin bajo li- se oculta.
cencia cdigo abierto.
Al igual que el software libre, el cdigo abierto tiene una
4 de junio de 1999: Microsoft arma que Li-
serie de requisitos[2] necesarios para que un programa
nux vende ms que Windows 98 en las grandes
pueda considerarse dentro de este movimiento, estos son:
supercies.[1]
8 de junio de 2015: Apple anuncia Swift 2 bajo li- Libre redistribucin: el software debe poder ser re-
cencia cdigo abierto. galado o vendido libremente.
3

Cdigo fuente: el cdigo fuente debe estar incluido 5 Extensiones del concepto
u obtenerse libremente.
Recientemente se est aplicando por extensin el trmino
Trabajos derivados: la redistribucin de modica- cdigo abierto o su equivalente en ingls open source
ciones debe estar permitida. a creaciones que no son programas. En concreto se ha-
bla popularmente de cine open source para referirse a ci-
Integridad del cdigo fuente del autor: las licencias ne bajo distintos tipos de licencias libres.[cita requerida] Otro
pueden requerir que las modicaciones sean redis- ejemplo es el proyecto de una economa de cdigo abierto
tribuidas solo como parches. de la plataforma Open Source Ecology, comenzado con el
desarrollo de mquinas industriales de cdigo abierto.[3]
La licencia no debe discriminar a ninguna persona o
grupo: nadie puede dejarse fuera.

Sin discriminacin de reas de iniciativa: los usua-


6 Referencias
rios comerciales no pueden ser excluidos.
[1] Google. Linux is outselling Windows 98, says Micro-
soft. Consultado el 12 de octubre de 2016.
Distribucin de la licencia: deben aplicarse los mis-
mos derechos a todo el que reciba el programa [2] The Open Source Denition | Open Source Initiative.
opensource.org. Consultado el 12 de octubre de 2016.
La licencia no debe ser especca de un producto: el
[3] About. Open Source Ecology (en ingls estadouniden-
programa no puede licenciarse solo como parte de
se). 7 de febrero de 2014. Consultado el 12 de octubre de
una distribucin mayor.
2016.

La licencia no debe restringir otro software: la licen-


cia no puede obligar a que algn otro software que
sea distribuido con el software abierto deba tambin 7 Vase tambin
ser de cdigo abierto.
Movimiento del software de cdigo abierto
La licencia debe ser tecnolgicamente neutral: no
Software libre y de cdigo abierto
debe requerirse la aceptacin de la licencia por me-
dio de un acceso por clic de ratn o de otra forma Open Source Initiative
especca del medio de soporte del software.
Software libre y Hardware libre
Este declogo es compatible con las cuatro libertades del Software no libre
software libre.
Cdigo cerrado

Diseo abierto
4 Programas en cdigo abierto

Sistemas operativos: los ms conocidos, Ubuntu y


8 Enlaces externos
Debian, basados en Linux. Android, de Google, para
telfonos inteligentes y tabletas. Open Source Initiative
Crtica de la FSF al trmino cdigo abierto (open
Programas: las suites omticas Open Oce y Libre
source)
Oce, el navegador Firefox, el cliente de correo
electrnico Thunderbird, el reproductor multimedia Observatorio Nacional del Software de Fuentes
VLC o el editor de imgenes GIMP Abiertas

Antivirus: ClamWin Comunidad para la difusin del Open Source y de


Gnu Linux
Los programas de Apache Software Foundation y
Varios, Producir Software de Cdigo Abierto: Co-
Github.
mo Llevar a Buen Puerto un Proyecto de Cdigo
Libre. O'Reilly, 2007. PDF | OpenLibra Libro gra-
El lenguaje de programacin de Apple Swift 2.
tuito (espaol).
Plataformas de enseanza como Moodle (un ejem-
plo es sloodle)
4 9 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

9 Origen del texto y las imgenes, colaboradores y licencias


9.1 Texto
Cdigo abierto Fuente: https://es.wikipedia.org/wiki/C%C3%B3digo_abierto?oldid=97899203 Colaboradores: Youssefsan, Zeno Gant-
ner, Suisui, Moriel, Sauron, Pilaf, Sanbec, Drjackzon, Dodo, Ejmeza, Ascnder, Rsg, Yakoo, JavierCantero, Oviedo, MatiasBellone, Juan-
sempere, Petronas, Hispa, Sicarul, Airunp, Platonides, Alhen, Sbrant, Acracia, Varano, Gaeddal, Icvav, GermanX, K1k1, Beto29, Goth-
mog, Gronky, Basquetteur, Nihilo, BOTpolicia, Xobra, JEDIKNIGHT1970, CEM-bot, Gabriel Acquistapace, Damifb, Laura Fiorucci,
Rodrigocris, Especiales, Retama, Rickynet, Antur, Goyo de la Brisa~eswiki, PabloCastellano, VARGUX, Mahadeva, Santicluke, JAnD-
bot, Darolu, Mion, Cmontero, Muro de Aguas, Gaius iulius caesar, ColdWind, Gacq, Bedwyr, Idioma-bot, Plux, BL, DonBarredora,
Openmexico, Technopat, Chechurisk, Matdrodes, DJ Nietzsche, Shooke, Lucien leGrey, 3coma14, Muro Bot, Juandiego05, PaQmbral, El
Pantera, Ptn, Rallyfreak, MiguelAngelCaballero, Asai-b~eswiki, Ortellado, Marcelo, Pablinsky, Mafores, Javi1977, Locos epraix, Dra-
gonBot, Fonsi80, Xyozine, Eduardosalg, Pedro alberto ramos arredondo, Botelln, Leonpolanco, Gallowolf, Poco a poco, Shalbat, AVBOT,
Diegusjaimes, Hack-Master, Mario Garca H., Vivaelcelta, Aganon77, SuperBraulio13, Locobot, Manuelt15, Xqbot, Jkbw, Dan6hell66,
Josemiguel93, Ricardogpn, Erickjoan, Surfaz, Igna, Pavlo Shevelo, Botarel, Revoluc, AstaBOTh15, Betomorales, TobeBot, RedBot, Agu-
zanotti, Neoaverroes, ClaraDelRey, HUBOT, PatruBOT, Alekino, GrouchoBot, Savh, Allforrous, Liant, Mecamtico, Byletog, MerlIwBot,
Mmlesi, Invadibot, Tesssla, Elvisor, Ore07, Helmy oved, Makecat-bot, Jos A.2, Rebelplankton, Legobot, Balles2601, Cumbiarey, Neo
Zeitgeist, Saectar, Lagoset, Jarould, Rogerh91, Matiia, BenjaBot, Francoang, Saralekker, NinoBot, Yuranigt, SergiAriasBCN, Matias ama-
lia, Francisco mc, ElRabosOMFG, Criscopaz, Herraudio y Annimos: 188

9.2 Imgenes
Archivo:MapaConceptualFLOSS.png Fuente: https://upload.wikimedia.org/wikipedia/commons/7/79/MapaConceptualFLOSS.png
Licencia: CC BY 3.0 Colaboradores: Trabajo propio Artista original: VARGUX
Archivo:Opensource.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/42/Opensource.svg Licencia: CC BY 2.5 Colabo-
radores: Simon Phipps, former president of OSI Artista original: Open Source Initiative ocial SVG

9.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Software libre

USAR
APRENDER
ADAPTAR
REDISTRIBUIR PUBLICAR
MEJORAS
UNA FORMA TICA
DE ENTENDER VALORES
modicadas del programa.
con cualquier el programa a copias para todos para beneciar a EL SOFTWARE tica, creatividad,
propsito
(libertad 0)
sus necesidades
(libertad 1)
(libertad 2) toda la comunidad
(libertad 3) En su desarrollo,
comercializacin,
eciencia, colaboracin,
no discrimacin, ciencia, Tampoco debe confundirse software libre con software

a
transparencia, seguridad,

es
distribucin y uso
es competitividad, privacidad,

pr
que permita solidaridad,y sobre todo,
de dominio pblico. Este ltimo es aquel que no requie-

ex
libertad
LICENCIA requiere
ne LIBRE
SOFTWARE LIBRE
c es
i ta
GPL (Copyleft),
Apache, BSD, rib
uy
e
re de licencia, pues sus derechos de explotacin son para
st para
di
Creative Commons
(Share Alike) producen y
depuran colaboran
(netiqueta)
toda la humanidad, porque pertenece a todos por igual.
CDIGO
DISTRIBUCIONES

Debian GNU/Linux
FUENTE
instrucciones
DESARROLLADORES/AS

Fundaciones como FSF,


eligen
USUARIOS/AS

WikipediA, Greenpeace
Cualquiera puede hacer uso de l, consignando su autora
do
ONGs:
Ubuntu
GNew Sense
OpenBSD m
pi
la
con
usuarios y proyectos como: INSTITUCIONES: UNESCO, NASA
EMPRESAS: Google, IBM, SUN, Nokia
PAISES-REGIONES: Extremadura
original. Este software sera aquel cuyo autor lo dona a la
OpenSolaris co Francia, China, Brasil, Alemania

reunidos
PROGRAMAS CONTENIDOS
GNU, KDE
Enlightenment, Linux
Gnome, Window Maker,
UNIVERSIDADES: MIT, Berkeley
El 89% del TOP500 de superordenadores
humanidad o cuyos derechos de autor han expirado. Si un
EJECUTABLES LIBRES Apache, PostgreSQL, reciben
en re
sp
et
fuentes tipogrcas,
traducciones, localizaciones,
Gentoo, MySQL,
PHP, X.org
y dan autor condiciona su uso bajo una licencia, por muy dbil
an plantillas, sonidos, imgenes,
Openoice.org,
Firefox, Audacity,
Scribus, Inkscape,
FAQs, guas, manuales...

ESTNDARES
SOPORTE

EMPRESAS: p.ej. en Espaa dan soporte 150 en ASOLIF y 588 segn Libro Blanco
que sea, ya no es del dominio pblico.
Blender, GIMP, EVENTOS: aKademy, FLISOL JORNADAS DE Hispalinux, JRSL, Hackmeeting
Ktouch, K3b ABIERTOS LUGS: Velug, GPUL, CafeLug BLOGOSFERA: bulma.net, vivalinux.com.ar
~

Tab

Caps
1

A
2
Q W E
3

S
4

D
R
5

F
T
6

G
Y
H
7
U
8

J
I
9

K
O
0

L
P
;
-
[
=

'
]
\ BS

Enter
UTF-8 de IETF WIKIS: emacswiki, wiki.debian.org FOROS: preguntaslinux, ubuntu Mxico
IRC (Chats): OFTC, freenode LISTAS DE CORREO: bulmailing, asturlinux
,

html, xml de W3C


Shift Z X C V B N M . / Shift

Ctrl Alt Space Alt Ctrl

OpenDocument de OASIS e ISO ASOCIACIONES: Linux Espaol, USLA, Solar


2009-10-11 ltima versin del mapa conceptual del software libre (GPDL) en: es.gnu.org/~reneme/map/es/map-es.svg Autor: Ren Mrou (h@es.gnu.org)

1 Historia
Mapa conceptual del software libre.

El trmino software libre reere el conjunto de software


(programa informtico) que por eleccin maniesta de
su autor, puede ser copiado, estudiado, modicado, uti-
lizado libremente con cualquier n y redistribuido con o
sin cambios o mejoras.[1][2] Su denicin est asociada al
nacimiento del movimiento de software libre, encabezado
por Richard Stallman y la consecuente fundacin en 1985
de la Free Software Foundation, que coloca la libertad del
usuario informtico como propsito tico[3] fundamental.
Proviene del trmino en ingls free software, que presen-
ta ambigedad entre los signicados libre y gratis
asociados a la palabra free. Por esto que suele ser consi-
derado como software gratuito y no como software que
puede ser modicado sin restricciones de licencia. En es-
te sentido es necesario resaltar que la libertad tiene que Richard Matthew Stallman, creador del concepto de software li-
ver con el uso y no con la gratuidad. bre y fundador de la Free Software Foundation.

Un programa informtico es software libre si otorga a los


Entre los aos 1960 y 1970, el software no era conside-
usuarios todas estas libertades de manera adecuada. De lo
contrario no es libre. Existen diversos esquemas de distri- rado un producto sino un aadido que los vendedores de
las grandes computadoras de la poca (las mainframes)
bucin que no son libres, y si bien podemos distinguirlos
sobre la base de cunto les falta para llegar a ser libres, aportaban a sus clientes para que stos pudieran usar-
su uso bien puede ser considerado contrario a la tica en las. En dicha cultura, era comn que programadores y
todos los casos por igual.[2] desarrolladores de software compartieran libremente sus
programas unos con otros. Este comportamiento era par-
El software libre suele estar disponible gratuitamente, o ticularmente habitual en algunos de los mayores grupos
al precio de coste de la distribucin a travs de otros de usuarios de la poca, como DECUS (grupo de usuarios
medios; sin embargo no es obligatorio que sea as, por de computadoras DEC). A nales de la dcada de 1970,
lo tanto no hay que asociar software libre a softwa- las compaas iniciaron el hbito de imponer restriccio-
re gratuito (denominado usualmente freeware), ya que, nes a los usuarios, con el uso de acuerdos de licencia.
conservando su carcter de libre, puede ser distribuido
comercialmente. Anlogamente, el software gratis o gra- En 1971, cuando la informtica todava no haba sufrido
tuito incluye en ocasiones el cdigo fuente; no obstante, su gran auge, las personas que hacan uso de ella, en mbi-
este tipo de software no es libre en el mismo sentido tos universitarios y empresariales, creaban y compartan
que el software libre, a menos que se garanticen los dere- el software sin ningn tipo de restricciones.
chos de modicacin y redistribucin de dichas versiones Con la llegada de los aos 1980 la situacin empez a

1
2 2 LAS CUATRO LIBERTADES DEL SOFTWARE LIBRE

cambiar. Las computadoras ms modernas comenzaban 2 Las cuatro libertades del software
a utilizar sistemas operativos privativos, forzando a los
usuarios a aceptar condiciones restrictivas que impedan
libre
intercambiar, compartir o realizar modicaciones a dicho
software.
En caso de que algn usuario o programador encontrase De acuerdo con la denicin establecida por Richard
algn error en la aplicacin, lo nico que poda hacer era Stallman, un software es libre cuando garantiza las si-
darlo a conocer a la empresa desarrolladora para que sta guientes libertades:[6]
lo solucionara. Aunque el programador estuviese capaci- Ciertos tericos usan este cuarto punto (libertad 3) pa-
tado para solucionar el problema y lo desease hacer sin ra justicar parcialmente las limitaciones impuestas por
pedir nada a cambio, el contrato le impeda que modi- la licencia GNU GPL frente a otras licencias de softwa-
case el software. re libre (ver Licencias GPL).[cita requerida] Sin embargo el
En 1971, el estadounidense Richard Matthew Stallman, sentido original es ms libre, abierto y menos restrictivo
estudiante de Fsica de la Universidad de Harvard, form que el que le otorga la propia situacin de incompatibili-
parte como hacker del Laboratorio de Inteligencia Arti- dad, que ha sido resuelta a cierto grado en versin 3 de la
cial del Instituto Tecnolgico de Massachusetts. En la licencia GNU GPL.
dcada de 1980, la cultura hacker que constitua la vi- Tanto la Open Source Initiative[7] como la Free Software
da de Stallman empez a disolverse bajo la presin de Foundation,[8] mantienen en sus webs ociales, listados
la comercializacin en la industria del software. Los de- de las licencias de software libre que aprueban.
ms compaeros de Stallman, tambin hackers del labo-
El trmino software no libre se emplea para referirse al
ratorio, fundaron la compaa Symbolics que intentaba
software distribuido bajo una licencia de software ms
reemplazar el software libre producido en las instalacio-
restrictiva que no garantiza estas cuatro libertades. Las
nes por software no libre de su propiedad. Stallman con-
leyes de la propiedad intelectual reservan la mayora de
t, aos despus, que por aquellos aos, en el laboratorio
los derechos de modicacin, duplicacin, y redistribu-
donde trabajaba, haban recibido una impresora donada
cin, para el dueo del copyright; el software dispuesto
por una empresa externa. El dispositivo, que era utiliza-
bajo una licencia de software libre rescinde especca-
do en red por todos los trabajadores, pareca no funcionar
mente la mayora de estos derechos reservados.
a la perfeccin, dado que cada cierto tiempo el papel se
atascaba. Como agravante, no se generaba ningn aviso La denicin de software libre no contempla la cuestin
que se enviase por red e informase a los usuarios de la del precio; un eslogan frecuentemente usado es libre co-
situacin. mo en libertad, no como en cerveza gratis o en ingls
Free as in freedom, not as in free beer (aludiendo a la
La prdida de tiempo era constante, ya que en ocasiones,
ambigedad del trmino ingls free), y es habitual ver a
los trabajadores enviaban por red sus trabajos a imprimir
la venta CD de software libre como distribuciones Linux.
y al ir a buscarlos se encontraban la impresora atascada
Sin embargo, en esta situacin, el comprador del CD tiene
y una cola enorme de trabajos pendientes. Richard Stall-
el derecho de copiarlo y redistribuirlo. El software gratis
man decidi arreglar el problema, e implementar el en-
puede incluir restricciones que no se adaptan a la deni-
vo de un aviso por red cuando la impresora se bloqueara.
cin de software libre por ejemplo, puede no incluir el
Para ello necesitaba tener acceso al cdigo fuente de los
cdigo fuente, puede prohibir explcitamente a los distri-
controladores de la impresora. Pidi a la empresa propie-
buidores recibir una compensacin a cambio, etc..
taria de la impresora lo que necesitaba, comentando, sin
pedir nada a cambio, qu era lo que pretenda realizar. La Para evitar la confusin, algunas personas utilizan los tr-
empresa se neg a entregarle el cdigo fuente. En ese pre- minos libre (software libre) y gratis (software gratis)
ciso instante, Stallman se vio en una encrucijada: deba para evitar la ambigedad de la palabra inglesa free. Sin
elegir entre aceptar el nuevo software propietario rman- embargo, estos trminos alternativos son usados nica-
do acuerdos de no revelacin y acabar desarrollando ms mente dentro del movimiento del software libre, aunque
software propietario con licencias restrictivas, que a su estn extendindose lentamente hacia el resto del mundo.
vez deberan ser ms adelante aceptadas por sus propios Otros deenden el uso del trmino open source software
colegas. Stallman renunci a su empleo, viviendo de rea- (software de cdigo abierto). La principal diferencia en-
lizar programas libres y vender las copias en cintas y el da tre los trminos open source y free software es que
27 de septiembre de 1983, anunci en varios grupos de este ltimo tiene en cuenta los aspectos ticos y los-
noticias de Usenet el inicio del Proyecto GNU, que per- cos de la libertad, mientras que el open source se basa
segua crear un sistema operativo completamente libre.[4] nicamente en los aspectos tcnicos.
En 1985, Stallman fund la organizacin Free Software En un intento por unir los mencionados trminos que se
Foundation (FSF) e introdujo la denicin formal de soft- reeren a conceptos semejantes, se est extendiendo el
ware libre y el concepto de copyleft, que desarroll para uso de la palabra "FLOSS" con el signicado de free/libre
otorgar libertad a los usuarios y para restringir las posibi- and open source software e, indirectamente, tambin a la
lidades de apropiacin del software.[5] comunidad que lo produce y apoya.
3.2 Licencias LGPL 3

2.1 Formatos abiertos inevitablemente desaparecern en el proceso, al ser el c-


digo resultante licenciado bajo GNU GPL) y las que no
Los formatos abiertos permiten al software libre mante- lo permiten al incluir mayores u otros requisitos que no
ner sus cuatro libertades y la libre difusin de todo el cdi- contemplan ni admiten la GNU GPL y que por lo tanto
go y formatos utilizados, su distribucin y estudio, debido no pueden ser enlazadas ni mezcladas con cdigo gober-
a esto, los creadores de software libre desarrollan a la vez nado por la licencia GNU GPL. En el sitio web ocial de
de programas libres, formatos libres para estos programas GNU hay una lista de licencias que cumplen las condi-
o utilizan formatos libres ya creados anteriormente. ciones impuestas por la GNU GPL y otras que no.[10]
Los formatos libres permiten a los usuarios poder traba- Aproximadamente el 60 % del software licenciado co-
jar con programas libres aunque al ser libres pueden ser mo software libre emplea una licencia GPL o de manejo
[cita requerida]
implementados y utilizados en cualquier programa sea .
cerrado o no. Algunas compaas, como Microsoft, no
suelen utilizar formatos libres en sus programas, no por
impedimento si no por falta de voluntad de implementar 3.2 Licencias LGPL
formatos abiertos en sus programas, aun as los usuarios
pueden instalar software libre en sus sistemas para traba- La Licencia Pblica General Reducida de GNU, o
jar con estos formatos. ms conocida por su nombre en ingls GNU Lesser Ge-
neral Public License, es una licencia creada por la (FSF)
que garantiza la libertad de compartir y modicar el soft-
ware cubierto por ella, asegurando que el software es libre
3 Tipos de licencias para todos sus usuarios. Esta licencia se aplica a cualquier
programa o trabajo que contenga una nota puesta por el
El software no se vende, se licencia. Una licencia es aque- propietario de los derechos del trabajo estableciendo que
lla autorizacin formal con carcter contractual que un su trabajo puede ser distribuido bajo los trminos de es-
autor de un software da a un interesado para ejercer ac- ta. El Programa, utilizado en lo subsecuente, se reere a
tos de explotacin legales. Es decir, el software no se cualquier programa o trabajo original, y el trabajo basa-
compra, sino que se adquieren una serie de derechos so- do en el Programa signica que el programa o cualquier
bre el uso que se le puede dar. En las licencias de software trabajo derivado del mismo bajo la ley de derechos de
libre esos derechos son muy abiertos y permisivos, ape- autor.
nas hay restricciones al uso de los programas. De ah que
ayude al desarrollo de la cultura[9] . Pueden existir tantas
licencias como acuerdos concretos se den entre el autor 3.3 Licencias AGPL
y el licenciatario. Desde el punto de vista del software li-
bre, existen distintas variantes del concepto o grupos de La Licencia Pblica General de Aero (en ingls Af-
licencias:[2] fero General Public License, tambin Aero GPL o
AGPL) es una licencia copyleft derivada de la Licencia
Pblica General de GNU diseada especcamente para
3.1 Licencias GPL asegurar la cooperacin con la comunidad en el caso de
software que corra en servidores de red. La Aero GPL
Una de las ms utilizadas es la Licencia Pblica Ge- es ntegramente una GNU GPL con una clusula nueva
neral de GNU (GNU GPL). El autor conserva los de- que aade la obligacin de distribuir el software si ste se
rechos de autor (copyright), y permite la redistribucin ejecuta para ofrecer servicios a travs de una red de orde-
y modicacin bajo trminos diseados para asegurarse nadores. La Free Software Foundation recomienda que el
de que todas las versiones modicadas del software per- uso de la GNU AGPLv3 sea considerado para cualquier
manecen bajo los trminos ms restrictivos de la propia software que usualmente corra sobre una red.[11]
GNU GPL. Esto hace que sea imposible crear un pro-
ducto con partes no licenciadas GPL: el conjunto tiene
que ser GPL. Es decir, la licencia GNU GPL posibilita 3.4 Licencias Estilo BSD
la modicacin y redistribucin del software, pero nica-
mente bajo esa misma licencia. Y aade que si se reuti- Llamadas as porque se utilizan en gran cantidad de soft-
liza en un mismo programa cdigo A licenciado bajo ware distribuido junto a los sistemas operativos BSD.
licencia GNU GPL y cdigo B licenciado bajo otro tipo El autor, bajo tales licencias, mantiene la proteccin de
de licencia libre, el cdigo nal C, independientemen- copyright nicamente para la renuncia de garanta y pa-
te de la cantidad y calidad de cada uno de los cdigos ra requerir la adecuada atribucin de la autora en traba-
A y B, debe estar bajo la licencia GNU GPL. En la jos derivados, pero permite la libre redistribucin y mo-
prctica esto hace que las licencias de software libre se dicacin, incluso si dichos trabajos tienen propietario.
dividan en dos grandes grupos, aquellas que pueden ser Son muy permisivas, tanto que son fcilmente absorbidas
mezcladas con cdigo licenciado bajo GNU GPL (y que al ser mezcladas con la licencia GNU GPL con quienes
4 3 TIPOS DE LICENCIAS

son compatibles. Puede argumentarse que esta licencia desarrollo nal tiene que estar licenciado GPL). Desde
asegura verdadero software libre, en el sentido que el un punto de vista del desarrollador la GPL presenta un
usuario tiene libertad ilimitada con respecto al software, inconveniente en este punto, y lamentablemente mucha
y que puede decidir incluso redistribuirlo como no libre. gente se cierra en banda ante el uso de dicho cdigo. No
Otras opiniones estn orientadas a destacar que este tipo obstante la MPL no es tan excesivamente permisiva como
de licencia no contribuye al desarrollo de ms software las licencias tipo BSD. Estas licencias son denominadas
libre (normalmente utilizando la siguiente analoga: una de copyleft dbil. La NPL (luego la MPL) fue la primera
licencia BSD es ms libre que una GPL si y slo si se opi- licencia nueva despus de muchos aos, que se encargaba
na tambin que un pas que permita la esclavitud es ms de algunos puntos que no fueron tomados en cuenta por
libre que otro que no la permite). las licencias BSD y GNU. En el espectro de las licencias
de software libre se la puede considerar adyacente a la
licencia estilo BSD, pero perfeccionada.
3.5 Licencia PSFL
La Python Software Foundation License, anterior- 3.8 Licencias CDDL
mente Python License, es una licencia de software li-
bre permisiva, al estilo de la licencia BSD, es decir, que Common Development and Distribution License (Li-
cumple con los requisitos OSI para ser declarada licencia cencia Comn de Desarrollo y Distribucin), tambin
de software libre; adems, es compatible con la licencia conocida como Sun Public License (SPL) versin 2, es
GPL. A diferencia de la licencia GPL, y como la mayora una licencia de cdigo abierto (OSI) y libre, producida
de licencias tipo BSD, la licencia PSFL no es una licencia por Sun Microsystems, basada en la Mozilla Public Li-
copyleft, y permite modicaciones del cdigo fuente, as cense o MPL, versin 1.1. La licencia CDDL fue envia-
como la creacin de trabajos derivados, sin requerir que da para su aprobacin al Open Source Initiative el 1 de
ni las modicaciones ni los trabajos derivados tengan que diciembre de 2004, y fue aprobada como una licencia de
ser a su vez de cdigo abierto. La licencia PSFL est den- cdigo abierto a mediados de enero de 2005. En el primer
tro de las listas de licencias aprobadas tanto por la Free borrador hecho por el comit de divulgacin de licencias
Software Foundation como por la Open Source Initiative. OSI, la CDDL es una de las nueve licencias ms popula-
res, mundialmente usadas o con fuertes comunidades.

3.6 Licencia MIT


3.9 Copyleft
La licencia MIT es una de tantas licencias de software
que ha empleado el Instituto Tecnolgico de Massachu- Hay que hacer constar que el titular de los derechos de
setts (MIT, Massachusetts Institute of Technology) a lo lar-
autor (copyright) de un software bajo licencia copyleft
go de su historia, y quizs debera llamarse ms correcta-puede tambin realizar una versin modicada bajo su
mente licencia X11, ya que es la licencia que llevaba estecopyright original, y venderla bajo cualquier licencia que
software de muestra de la informacin de manera grca desee, adems de distribuir la versin original como soft-
X Window System originario del MIT en los aos 1980. ware libre. Esta tcnica ha sido usada como un modelo
Pero ya sea como MIT o X11, su texto es idntico. El de negocio por una serie de empresas que realizan soft-
texto de la licencia no tiene copyright, lo que permite suware libre (por ejemplo MySQL); esta prctica no res-
modicacin. No obstante esto, puede no ser recomen- tringe ninguno de los derechos otorgados a los usuarios
dable e incluso muchas veces dentro del movimiento del de la versin copyleft. En Espaa, toda obra derivada es-
software de cdigo abierto desaconsejan el uso de este t tan protegida como una original, siempre que la obra
texto para una licencia, a no ser que se indique que es una
derivada parta de una autorizacin contractual con el au-
modicacin, y no la versin original. La licencia MIT es tor. En el caso genrico de que el autor retire las licencias
muy parecida a la licencia BSD en cuanto a efectos. copyleft, no afectara de ningn modo a los productos
derivados anteriores a esa retirada, ya que no tiene efecto
retroactivo. En trminos legales, el autor no tiene dere-
3.7 Licencias MPL y derivadas cho a retirar el permiso de una licencia en vigencia. Si as
sucediera, el conicto entre las partes se resolvera en un
Esta licencia es de Software Libre y tiene un gran valor pleito convencional.
porque fue el instrumento que emple Netscape Commu-
nications Corp. para liberar su Netscape Communicator
4.0 y empezar ese proyecto tan importante para el mundo 3.10 Licencias EPL
del Software Libre: Mozilla. Se utilizan en gran cantidad
de productos de software libre de uso cotidiano en todo La Licencia Pblica Eclipse (EPL) es una licencia uti-
tipo de sistemas operativos. La MPL es Software Libre y lizada por la Fundacin Eclipse para su software. Susti-
promueve ecazmente la colaboracin evitando el efec- tuye a la Licencia Pblica Comn (CPL) y elimina cier-
to viral de la GPL (si usas cdigo licenciado GPL, tu tas condiciones relativas a los litigios sobre patentes. La
5

Licencia Pblica de Eclipse est diseado para ser una li- 4 Comparacin con el software de
cencia de software favorable a los negocios y cuenta con
disposiciones ms dbiles que las licencias copyleft con-
cdigo abierto
temporneas. El receptor de programas licenciados EPL
pueden utilizar, modicar, copiar y distribuir el trabajo y
las versiones modicadas, en algunos casos estn obliga-
dos a liberar sus propios cambios.

3.11 Licencia APSL

La Apple Public Source License es la licencia de c-


digo abierto y de software libre bajo la cual se public
el sistema operativo de Apple, Darwin. Esta licencia fue
adoptada de forma voluntaria para aumentar la colabo-
racin de la comunidad de la que se origina gran parte
de Darwin. La primera versin de APSL fue aprobada
por Open Source Initiative (OSI). La versin 2.0, lanza-
da el 29 de julio de 2003 es compatible con las directrices
de la Free Software Foundation, y tambin est aprobada
por la OSI. La Free Software Foundation aprob la Ap- Mapa conceptual del software libre y de cdigo abierto.
ple Public Source License 2.0 como una licencia libre ya
que rene los requisitos y arma que est bien usar y me- Aunque en la prctica el software de cdigo abierto y el
jorar el software ya publicado bajo esta licencia pero no software libre comparten muchas de sus licencias, la Free
recomienda utilizarla para proyectos nuevos. Software Foundation opina que el movimiento del soft-
ware de cdigo abierto es loscamente diferente del
movimiento del software libre.[12] Apareci en 1998 con
3.12 Licencia Apache un grupo de personas, entre los que cabe destacar a Eric
S. Raymond y Bruce Perens, que formaron la Open Sour-
La licencia Apache (Apache Software License para ce Initiative (OSI). Ellos buscaban darle mayor relevancia
versiones anteriores a 2.0) es una licencia de software li- a los benecios prcticos del compartir el cdigo fuente,
bre creada por la Apache Software Foundation (ASF). La e interesar a las principales casas de software y otras em-
licencia (con versiones 1.0, 1.1 y 2.0) requiere la conser- presas de la industria de la alta tecnologa en el concep-
vacin del aviso de copyright y el disclaimer, pero no es to. Por otro lado, la Free Software Foundation y Richard
una licencia copyleft, ya que no requiere la redistribucin Stallman preeren plantear el asunto en trminos ticos
del cdigo fuente cuando se distribuyen versiones modi- empleando el trmino software libre.[13]
cadas ni siquiera que se tengan que distribuir como soft-
Los defensores del trmino "Cdigo abierto" arman que
ware libre/open source, slo exige que se mantenga una
ste evita la ambigedad del trmino en ese idioma que
noticia que informe a los receptores que en la distribucin
es free en free software. El trmino cdigo abierto fue
se ha usado cdigo con la Licencia Apache. Se deben aa-
acuado por Christine Peterson del instituto de investi-
dir dos archivos en el directorio principal de los paquetes
gacin Foresight Institute, y se registr para actuar como
de software redistribuidos:
marca registrada el trmino en ingls, para los productos
de software libre.
LICENSE - Una copia de la licencia
Mucha gente reconoce el benecio cualitativo del proceso
NOTICE - Un documento de texto, que incluye los de desarrollo de software cuando los desarrolladores pue-
avisos obligatorios del software presente en la dis- den usar, modicar y redistribuir el cdigo fuente de un
tribucin. programa. El movimiento del software libre hace especial
nfasis en los aspectos morales o ticos del software, vien-
do la excelencia tcnica como un producto secundario de
3.13 Licencia PHP su estndar tico. El movimiento de cdigo abierto ve la
excelencia tcnica como el objetivo prioritario, siendo la
La licencia PHP es la licencia bajo la cual se publica comparticin del cdigo fuente un medio para dicho n.
el lenguaje de programacin PHP. De acuerdo a la Free Por dicho motivo, la Fundacin del Software Libre se dis-
Software Foundation es una licencia de software libre no tancia tanto del movimiento de cdigo abierto como del
copyleft y una licencia de cdigo abierto segn la Open trmino Cdigo Abierto.[13]
Source Initiative. Debido a la restriccin en el uso del tr- Puesto que la OSI slo aprueba las licencias que se ajustan
mino PHP, no es compatible con la licencia GPL. a la Open Source Denition (denicin de cdigo abier-
6 5 IMPLICACIONES ECONMICO-POLTICAS

to), la mayora de la gente lo interpreta como un esque- Algunos consideran el software libre como una for-
ma de distribucin, e intercambia libremente los trminos ma de trabajo colaborativo en un modelo de merca-
cdigo abierto y software libre. An cuando existen do, tal como se haba planteado el cooperativismo.
importantes diferencias loscas entre ambos trminos,
especialmente en trminos de las motivaciones para el
desarrollo y el uso de tal software, raramente suelen tener Algunos comparan el software libre a una economa
impacto en el proceso de colaboracin. del regalo, donde el valor de una persona est basado
en lo que sta da a los dems, sin que incurra valor
Aunque el trmino cdigo abierto elimina la ambige- monetario formal de por medio.
dad de libertad frente a precio (en el caso del ingls), in-
troduce una nueva: entre los programas que se ajustan a
la denicin de cdigo abierto, que dan a los usuarios la Grupos como Oekonux e Hipatia consideran que
libertad de mejorarlos, y los programas que simplemente todo debera producirse de esta forma y que es-
tiene el cdigo fuente disponible, posiblemente con fuer- te modelo de produccin no se limita a reempla-
tes restricciones sobre el uso de dicho cdigo fuente. Mu- zar el modelo no libre de desarrollo del software.
cha gente cree que cualquier software que tenga el cdigo La cooperacin basada en la libre asociacin pue-
fuente disponible es de cdigo abierto, puesto que lo pue- de usarse y se usa para otros propsitos (tales como
den manipular (un ejemplo de este tipo de software sera escribir enciclopedias, por ejemplo).
el popular paquete de software gratuito Graphviz, inicial-
mente no libre pero que inclua el cdigo fuente, aunque
luego AT&T le cambi la licencia). Sin embargo, mucho Hay proyectos de desarrollo con impulso guberna-
de este software no da a sus usuarios la libertad de distri- mental que utilizan software libre, as como en pro-
buir sus modicaciones, restringe el uso comercial, o en yectos de voluntariado en pases en vas de desarro-
general restringe los derechos de los usuarios. llo.

Las implicaciones polticas y econmicas del software li-


5 Implicaciones econmico- bre, o su anidad con el antiautoritarismo, es discutida.
polticas Mientras para unos estas implicaciones son notorias y re-
presentan un factor importante a tomarse en cuenta, para
Una vez que un producto de software libre ha empezado a otros si bien podra existir una leve relacin, no tiene su-
circular, rpidamente est disponible a un costo muy bajo. ciente relevancia.
Al mismo tiempo, su utilidad no decrece. El software, en
general, podra ser considerado un bien de uso inagotable,
tomando en cuenta que su costo marginal es pequesimo
y que no es un bien sujeto a rivalidad (la posesin del bien 5.1 Modelo de negocio
por un agente econmico no impide que otro lo posea).
El negocio detrs del software libre se caracteriza por
Puesto que el software libre permite el libre uso, modi-
la oferta de servicios adicionales al software como: la
cacin y redistribucin, a menudo encuentra un hogar en-
personalizacin y/o instalacin del mismo, soporte tc-
tre usuarios para los cuales el coste del software no libre
nico, donaciones, patrocinios o como un elemento de
es a veces prohibitivo, o como alternativa a la piratera.
responsabilidad social corporativa;[15] en contraposicin
Tambin es sencillo modicarlo localmente, lo que per-
al modelo de negocio basado en licencias predominante
mite que sean posibles los esfuerzos de traduccin a idio-
en el software de cdigo cerrado.[16]
mas que no son necesariamente rentables comercialmen-
te.
La mayora del software libre se produce por equipos in-
ternacionales que cooperan a travs de la libre asocia- 5.2 Seguridad relativa
cin. Los equipos estn tpicamente compuestos por indi-
viduos con una amplia variedad de motivaciones, y pue- Existe una cierta controversia sobre la seguridad del soft-
den provenir tanto del sector privado, del sector volunta-
ware libre frente al software no libre (siendo uno de los
rio o del sector pblico. Existen muchas posturas acercamayores asuntos la seguridad por oscuridad). Un mtodo
de la relacin entre el software libre y el actual sistema
usado de forma habitual para determinar la seguridad re-
poltico-econmico: lativa de los productos es determinar cuntos fallos de se-
guridad no resueltos existen en cada uno de los productos
Algunos consideran el software libre como un com- involucrados. Por lo general, los usuarios de este mtodo
petidor contra el centralismo en empresas y go- recomiendan que no sean usados productos que no sumi-
biernos, una forma de orden espontneo o de nistren un mtodo de solucionar los fallos de seguridad,
anarquismo prctico.[14] al menos hasta que no est disponible un arreglo.
7

6 Software libre en la Administra- vida de los mismos. Los servicios sobre el software
libre se ofrecen en un mercado de libre competen-
cin Pblica cia, por lo que sus precios son menores a los ofre-
cidos por el mantenimiento y soporte de programas
Entre los argumentos que sustentan la utilizacin de soft- propietarios.
ware libre en las administraciones pblicas encontramos
los siguientes[17] :
Existen pases en los cuales, sus administraciones p-
blicas, han mostrado apoyo al software libre, sea
Defensa del inters general. El uso de software li- migrando total o parcialmente sus servidores y sis-
bre benecia a la sociedad en su conjunto. Fomenta temas de escritorio, o subvencionndolo. Este es
el crecimiento de la industria nacional de servicios y el caso de Alemania,[19][20] Brasil,[21][22] Cuba,[23]
permite ahorrar divisas. La Administracin Pblica Chile,[24] China,[25] Ecuador, Espaa,[26][27] Francia,[28]
tiene cierta funcin de gua de la industria que la ha- Mxico,[29] Repblica Dominicana,[30] , Venezuela.[31] ,
ce tener un gran impacto, que se considera que debe Argentina [32] , entre otros.
dirigirse a la creacin de un mbito tecnolgico ge-
nerador de riqueza nacional.[18]

Transparencia. El uso de software libre permite 7 Ventajas y desventajas del Soft-


que cualquier ciudadano pueda comprobar por s ware libre en la educacin
mismo la integridad y seguridad de los programas
que usa su administracin. Esto es especialmente
importante en la Administracin electrnica y en los
sistemas que manipulan datos sensibles.

Independencia tecnolgica. El software libre, al


garantizar el acceso al cdigo fuente, permite elegir
los proveedores de desarrollo, mantenimiento y so-
porte en un mercado de libre competencia. El soft-
ware libre garantiza la libertad de eleccin de pro-
ductos gracias a su modularidad, su disponibilidad
en un gran nmero de plataformas y al uso de for-
matos de archivo abiertos, que permitan interoperar Distribucin de algunas aplicaciones de software libre en el pro-
con independencia de estrategias comerciales. ceso de educacin a distancia.
Accesibilidad. El Estado debe garantizar la acce-
sibilidad a los servicios desde una amplia variedad Segn sus impulsores, el software libre fomenta el cono-
de plataformas, sin discriminar a los ciudadanos por cimiento y la participacin de forma equitativa y colabo-
usar un software determinado ni forzarlos a adquirir rativa en el proceso educativo en particular, y en la cultura
determinados productos. para ello es fundamental en general, pone al estudiante en situacin de crear, de
la utilizacin de formatos y estndares abiertos. El ser usuario y productor al mismo tiempo[33] . Los gobier-
software libre puede ser traducido por la comunidad nos y las instituciones educativas deberan utilizar y en-
de usuarios de una lengua o por la propia Adminis- sear exclusivamente software libre porque este les per-
tracin. mitira adquirir independencia pedaggica y herramien-
tas de conocimiento abiertas y accesibles a sus estudian-
Seguridad. El modelo de seguridad del software li- tes y a toda la comunidad. Difundir el conocimiento y
bre se basa en la transparencia. La amplia base de ensear a los estudiantes a ser buenos miembros de esa
usuarios y desarrolladores de estos programas ga- comunidad[34] . Por todo esto, el software libre parece te-
rantizan adems un tiempo de respuesta rpido ante ner benecios en el campo educativo como los siguientes:
incidencias de seguridad. La transparencia permite
vericar mediante auditoras la ausencia de cdigo
1. Libertad para elegir el programa que cubra de mejor
maligno que pueda abrir puertas traseras en los pro-
manera las necesidades educativas.
gramas.
2. Benecio econmico: Las licencias del software li-
Proteccin de la inversin. La continuidad de los bre son completamente gratuitas, por lo que puede
productos de software libre est garantizada por la ser eliminado el pago en licencia de programas no
disponibilidad del cdigo fuente, que permite man- libres e invertir el dinero en otra rea.
tener los productos durante tiempo indenido. Tam-
bin se protege la inversin en hardware al evitarse 3. Uso por parte de los estudiantes de los mismos pro-
las actualizaciones forzosas, prolongando el ciclo de gramas en casa y escuela, de forma legal.
8 9 REGULACIN

4. Existencia de comunidades de intercambio educati- de modicar programas es una forma de libertad de


vo. expresin, aunque sin olvidar una estructura jerar-
quizada por la meritocracia[37]
5. Desarrollo independiente de aplicaciones: Se favo-
rece el crecimiento de desarrolladores pequeos La motivacin pragmtica, defendida por la Open
de software creando as una amplia oferta de pro- Source Initiative, que argumenta ventajas tcnicas y
gramas educativos libres. econmicas, con respecto a evitar una tragedia de
6. Conocimiento ampliado sobre la informtica: El los anticomunes mejorando los incentivos.
software libre permite que los estudiantes conozcan
cmo trabajan los programas y fomenta el inters, la Aparte de estas motivaciones, quienes trabajan con soft-
investigacin y el aprendizaje de nuevos conceptos ware libre suelen hacerlo por muchas otras razones,
en el campo de la informtica. que van desde la diversin a la mera retribucin eco-
nmica, que es posible debido a modelos de negocio
7. Diversidad de herramientas educativas en diversas sustentables.[38]
reas del conocimiento.
La mayora de los desarrolladores de software libre pro-
8. La posibilidad de copiar y difundir el software, es vienen de pases industrializados. El Mapa de desarro-
una forma de evitar que la propia institucin educa- lladores del proyecto Debian muestra que la mayora
tiva lleve a sus alumnos y docentes a la realizacin de desarrolladores se encuentran en Europa y Estados
de copias ilegales de software privativo incurriendo Unidos.[39]
en la violacin de la ley .[35]

9. Enseando el software libre, las escuelas pueden for-


mar ciudadanos preparados para vivir en una socie-
9 Regulacin
dad digital libre. Lo que implica la no dependencia
del software privativo de las mega-corporaciones. 9.1 Argentina
[36]
En la Argentina, en la Provincia de Ro Negro, el
Existen algunas desventajas, como en cualquier tipo de 08/03/2012 el Parlamento aprob la Ley 4747/12 que es-
software, como por ejemplo: tablece el empleo obligatorio del sistema de Software Li-
bre en los tres Poderes del Estado, entes descentralizados
y empresas con participacin estatal.[40]
1. El software libre se compra o se adquiere sin garan-
tas explcitas del fabricante o autor. En la Provincia de Santa Fe, fue publicada la Ley No.
13139 en el 2010 como una actualizacin de la Ley No.
2. Las modicaciones o problemas encontrados re- 12360 del ao 2004, la primera de este tipo en el pas.
quiere de la dedicacin de recursos institucionales, El espritu de la Ley 13139 radica en la implementacin
as como a la adaptacin a las necesidades del usua- de polticas de incorporacin de software que garanticen
rio que lo utilice. soberana, seguridad de los datos.[41]
3. Los usuarios deben tener unos conocimientos mni-
mos de programacin para modicarlo y adaptarlo 9.2 Bolivia
al contexto educativo.
El presidente Evo Morales Ayma, el da lunes 8 de agosto
4. Los usuarios deben estar al corriente de las modi-
de 2011, reglament la Ley N 164 de Telecomunicacio-
caciones que se les haga al software para evitar con-
nes y TICs para el Desarrollo de Tecnologas de Infor-
fusiones.
macin y Comunicacin.[42][43]

Al utilizar un tipo de software en concreto, se debe pensar


en las caractersticas de los usuarios para adaptarlo a sus 9.3 Colombia
necesidades y adems la utilidad a la que se va a dedicar,
el contexto educativo, infraestructuras, etc. En Colombia, el software libre se rige por las normas de
derechos de autor. Los derechos de autor estn protegi-
dos mediante la Ley 23 de 1982, la cual en su artculo 2
8 Motivaciones del software libre seala:
Los derechos de autor recaen sobre las obras cientcas
La motivacin tica, esgrimida la Free Software literarias y artsticas las cuales se comprenden todas las
Foundation ente que argumenta que el software es creaciones del espritu en el campo cientco, literario
conocimiento y debe poderse difundir sin trabas. Su y artstico, cualquiera que sea el modo o forma de ex-
ocultacin es una actitud antisocial y la posibilidad presin y cualquiera que sea su destinacin, tales como:
9.7 Per 9

los libros, folletos y otros escritos; las conferencias, alo- 9.7 Per
cuciones, sermones y otras obras de la misma naturale-
za; las obras dramticas o dramtico-musicales; las obras Proyecto de Ley sobre software libre nmero 1609, di-
coreogrcas y las pantomimas; las composiciones mu- ciembre de 2001. Proyecto de ley propuesto por el con-
sicales con letra o sin ella; las obras cinematogrcas, a gresista Edgar Villanueva Nez en diciembre de 2001,
las cuales se asimilan las obras expresadas por procedi- el cual promueve el uso del software libre en la adminis-
miento anlogo a la cinematografa, inclusive los video- tracin pblica.
gramas; las obras de dibujo, pintura, arquitectura, escul-
tura, grabado, litografa; las obras fotogrcas o las cua-
les se asimilan las expresadas por procedimiento anlogo 9.8 Uruguay
a la fotografa; las obras de arte aplicadas; las ilustracio-
nes, mapas, planos croquis y obras plsticas relativas a la En Uruguay, a partir de 2003 (Comisin de Constitucin,
geografa, a la topografa, a la arquitectura o a las cien- Cdigos, Legislacin General y Administracin Carpeta
cias y, en n, toda produccin del dominio cientco, li- N 3565 de 2003 Repartido N 1510 de noviembre de
terario o artstico que pueda reproducirse, o denirse por 2003) se estudi una Ley de Software Libre y Forma-
cualquier forma de impresin o de reproduccin, por fo- tos Abiertos en el Estado. La primera versin planteaba
nografa, radiotelefona o cualquier otro medio conocido el uso de formatos abiertos en todo el Estado y Software
o por conocer. Libre en la educacin, con una segunda versin presen-
tada en el 2006, que ya planteaba dar preferencia al uso
Como el software se compara a la obra literaria se de- de Software Libre en todos los organismos del Estado[46] .
be registrar ante la Direccin Nacional de Derechos de Luego dicha versin con modicaciones, fue la que reci-
Autor del Ministerio del Interior. Esta se hace de manera bi media sancin en la Cmara de Diputados el 19 de
declarativa y es gratuita. Como el software libre no es pa- diciembre de 2012[47] ,[48] la cual fue apoyada por la co-
tentable reconoce la propiedad intelectual. El creador de munidad de software libre uruguaya.[49] Finalmente, la
un software libre conserva los derechos morales y el de ley fue aprobada en diciembre de 2013[50] establecindo-
paternidad. El autor de una obra derivada de la original se en ella que:[51]
tambin tiene derecho al reconocimiento de la paternidad
sobre la obra derivada.
1. El Estado deber preferir la inversin y desarrollo
en software libre sobre el que no lo es, salvo cuando
ste no cumpla las necesidades tcnicas requeridas.
9.4 Ecuador
2. En caso de que el Estado decida invertir en softwa-
El Presidente Rafael Correa Delgado, el da jueves 10 de re privativo, deber justicar las razones del gasto y
abril de 2008, rm el Decreto N 1014; en el cual or- argumentar su eleccin.
dena, que el software usado por las administraciones p-
3. El Estado deber distribuir y aceptar toda informa-
blicas del pas sea software libre e implcitamente basado
cin en al menos un formato abierto, estndar y li-
en estndares abiertos.[44][45]
bre.
4. El intercambio de informacin a travs de Internet
9.5 Espaa deber ser posible en al menos un programa con li-
cencia libre.
La Orden EDU/2341/2009, de 27 de agosto, por la que se
crea el Centro Nacional de Desarrollo Curricular en Sis-
temas no Propietarios, tiene como nalidad el diseo, el 9.9 Venezuela
desarrollo y la promocin de contenidos educativos digi-
tales para colectivos educativos especcos, en el mbito El Decreto presidencial 3390 de fecha 23 de diciembre de
de las Tecnologas de la Informacin y la Comunicacin, 2004 y publicado en la Gaceta Ocial de Venezuela N
que se centra en promocionar y aplicar estrategias diri- 38095 del 28 de diciembre de 2004, establece textual-
gidas a poner a disposicin de los centros escolares re- mente en su artculo 1 que los entes pblicos emplearn
cursos y contenidos digitales de calidad, desarrollados en prioritariamente Software Libre, en sus sistemas, proyec-
software libre. tos y servicios informticos, por lo que dichas organiza-
ciones deben iniciar procesos de migracin gradual y pro-
gresiva de stos hacia el Software Libre[52]

9.6 Francia
9.10 Costa Rica
Proyecto de Ley nmero 2000-117. Proyecto propuesto
por Latte, Trgouet y Cabanel. ste abogaba por el uso En Costa Rica disponen de la Red Costarricense de Soft-
obligatorio de software libre en la Administracin. ware Libre, una agrupacin sin nimo de lucro fundada en
10 11 REFERENCIAS

2007 que impulsa la utilizacin, el estudio y el desarrollo 11 Referencias


de esta tecnologa. Sin embargo, pese a que se presen-
taron proyectos de ley con el propsito de ahorrar gas- [1] Free Software Foundation Sta. What is free software
tos del Estado en software, lo nico que se ha ociali- and why is it so important for society? (en ingls). Con-
zado es una directriz para priorizar la implementacin sultado el 24 de agosto de 2015.
de software libre en la Administracin pblica, pero sin
[2] Dominguez Ruiz, Douglas Alfredo. Software libre.
obligatoriedad.[53]
[3] Williams, Sam (2 de octubre de 2010). Free as in Freedom
(2.0): Richard Stallman and the Free Software Revolutoin
10 Vase tambin (2 edicin). GNU Press. p. 71.

[4] Richard Stallman (1983). New UNIX implementation


Portal:Software libre. Contenido relacionado (en ingls). Consultado el 10 de mayo de 2007.
con Software libre. [5] Ahmet ztrk (julio de 2002). Free Software (en in-
gls). Computing & Information Services Newsletter, Me-
Anexo:Comparacin de licencias de software libre
tu Computer Center, Trke.
Arquitectura de fuente abierta [6] Free Software Foundation (9 de diciembre de 2010). La
Asociacin de Publicaciones Acadmicas de Acceso Denicin de Software Libre. Consultado el 14 de di-
ciembre de 2010.
Abierto
[7] Open Source Initiative. OSI licenses (en ingls).
Biblioteca libre
[8] Free Software Foundation. Licencias de Software Li-
ColorIURIS bre.
Contenido abierto [9] Que es Open Source.
Contenido libre [10] Free Software Foundation, Inc. Licencias.
Copyleft [11] Lista de licencias libres en el sitio de la FSF: We recom-
mend that developers consider using the GNU AGPL for
Creative Commons
any software which will commonly be run over a network.
Cultura libre [12] Open Source (cdigo fuente abierto) en el libreo
Datos abiertos Software libre para una sociedad libre de Stallman

[13] Richard Stallman. Por qu el cdigo abierto pierde de


Diseo abierto
vista lo esencial del software libre. www.gnu.org. Con-
Dominio pblico sultado el 21 de diciembre de 2016.

Estndar abierto [14] Eben Moglen. Anarchism Triumphant: Free Software


and the Death of Copyright (Anarquismo triunfante: el
Formato abierto software libre y la muerte de los derechos de autor) (en
ingls).
Free Culture Forum
[15] Modelos open source y responsabilidad social Jess Gar-
Fuente abierta ca Garca & M Isabel Alonso de MagdalenoUniversidad
de Oviedo. XVI Congreso Asociacin Espaola de conta-
GNU bilidad y Administracin de empresas
GNU GPL [16] Cmo genera dinero el software libre? - Guas en Mil-
Bits.
Hardware libre
[17] David Jacovkis. Argumentos para el uso de software li-
Licencia de software libre
bre en las Administraciones Pblicas. www.iade.org.ar.
Msica libre Consultado el 21 de septiembre de 2016.

Open content [18] Sala H. y Nez Plcher P. (mayo de 2014). Software


Libre y Acceso Abierto: dos formas de transferencia de
Publicaciones de acceso abierto tecnologa. Revista CTS, vol. 9, N. 26.

Radio libre [19] DE: Foreign ministry: 'Cost of Open Source desktop
maintenance is by far the lowest' .
Recursos educativos abiertos
[20] DiarioTi: Diario Tecnologas de la Informacin. Archi-
Video libre vado desde el original el 26 de noviembre de 2015.
11

[21] El gobierno de Lula levanta la bandera del 'software' libre [39] Debian -- Situacin de los desarrolladores. www.
ELPAS.com. debian.org. Consultado el 21 de septiembre de 2016.

[22] Intel y Novell aplauden el avance de Linux en Brasil [40] http://unterseccionalroca.org.ar/imagenes/documentos/


ELPAS.com. leg/Ley%204747%20(software%20libre).pdf

[23] Cuba abandona Windows y se pasa a Linux EL- [41] Boletn Ocial del martes 23 de noviembre de 2010 -
PAS.com. Ley Provincial 13139-2010. Consultado el 30 de mayo
de 2015.
[24] Regulador e IBM promueven Linux en el Gobierno, Chi-
le, Tecnologas de Info., noticias. [42] Software Libre de Argentina (7 de noviembre de 2013).
El Software Libre en Bolivia es Ley Reglamentada. Es-
[25] China Earthquake Administration Chooses Linux - Chi- tado. Consultado el 14 de diciembre de 2013.
naTechNews.com - The Technology Source for the Latest
Chinese News on Internet, Computers, Digital, Science, [43] Software Libre de Argentina (17 de noviembre de 2013).
Electronics, La.... Dcreto Supremo N 1793. Estado. Consultado el 14 de
diciembre de 2013.
[26] Extremadura usar 'software' 'libre en los 10.000 orde-
[44] Alan Lorenzo (11 de abril de 2008). Ecuador migra a
nadores de la administracin ELPAS.com.
software libre va Decreto. Consultado el 14 de diciem-
[27] Trejo Pulido, Ana; Domnguez Dorado, Manuel; Ram- bre de 2013.
samy, Pop (2012). El Software Libre en los Organismos
[45] David Ochoa (16 de abril de 2012). Una ley para promo-
Pblicos de mbito Estatal. CENATIC. ISBN 978-84-
ver el software libre. Consultado el 14 de diciembre de
15927-00-6. Consultado el 24 de febrero de 2015.
2013.
[28] French police: we saved millions of euros by adopting [46] Repartido 779 de setiembre/2006. Parlamento del Uru-
Ubuntu - Ars Technica. guay. Consultado el 21 de enero de 2016.
[29] Michoacn ahorra muchos millones con software libre - [47] Proyecto de ley Software libre y formatos abiertos en el
El Universal - Finanzas. Estado". CESoL (Centro de Estudios de Software). Con-
sultado el 21 de enero de 2016.
[30] El Estado Dominicano se evitara invertir los US$600
millones en el Gobierno Electrnico :: CLAVE digital [48] Proyecto de ley Software libre y formatos abiertos en el
mvil. Estado, fuente: Poder Legislativo - Cmara de Represen-
tantes - Uruguay.
[31] Gobierno de Venezuela. Apoyo del Gobierno Venezo-
lano al Software Libre. Archivado desde el original el 26 [49] Comunicado de la comunidad sobre Ley de Software Libre
de noviembre de 2015. y Formatos Abiertos en el Estado, 13 de marzo de 2013.

[32] Agencia Telam (25 de abril de 2014). La relacin en- [50] Ley 19.179: SOFTWARE LIBRE Y FORMATOS
tre el software libre y el Estado marc el inicio del Flisol ABIERTOS EN EL ESTADO. Parlamento del Uruguay.
2014. www.telam.com.ar. Consultado el 1 de septiembre Consultado el 24 de octubre de 2016.
de 2016.
[51] Uruguay pone el ejemplo con la ley de software libre y
[33] Entrevista de EL TIEMPO a Walter Bender - Archivo formatos abiertos
Digital de Noticias de Colombia y el Mundo desde 1.990
- eltiempo.com. Consultado el 1 de septiembre de 2016. [52] Decreto N 3.390. 28 de diciembre de 2004. Consulta-
do el 24 de febrero de 2015.
[34] Software libre y educacin - Proyecto GNU - Free Soft-
[53] Polticas de software libre en Latinoamrica (en espa-
ware Foundation. www.gnu.org. Consultado el 31 de
ol de Espaa). 30 de abril de 2015. Consultado el 3 de
marzo de 2016.
octubre de 2016.
[35] Da Rosa, Fernando; Heinz, Federico. Gua prctica sobre
software libre: su seleccin y aplicacin local en Amrica
Latina y el Caribe. pp. 53-54. ISBN 92-9089-103-3. Con- 12 Enlaces externos
sultado el 24 de febrero de 2015.

[36] Por qu las escuelas deben usar exclusivamente software Wikimedia Commons alberga contenido multi-
libre. Consultado el 31 de agosto de 2016. media sobre Software libre. Commons
[37] La catedral y el bazar
Wikinoticias tiene noticias relacionadas con
[38] Jordi Mas Hernndez (coordinador), David Megas Jim- Software libre.Wikinoticias
nez (coordinador), Jess M. Gonzlez Barahona, Joaqun
Seoane Pascual, Gregorio Robles (2008). Introduccin al
software libre. Barcelona: Fundaci per a la Universitat Wikiversidad alberga proyectos de aprendizaje
Oberta de Catalunya. sobre Software libre.Wikiversidad
12 12 ENLACES EXTERNOS

Denicin de software libre, de la Free Software


Foundation
Denicin de open source (en ingls)

Categoras de software libre y no libre


Lista FSF de licencias con comentarios

Estudio sobre la valoracin del software libre en la


sociedad

Gua Prctica sobre Software Libre, su seleccin y


aplicacin local en Amrica Latina y el Caribe, una
publicacin de UNESCO
Centro Nacional de Referencia de Aplicacin de las
TIC basadas en Fuentes Abiertas
13

13 Origen del texto y las imgenes, colaboradores y licencias


13.1 Texto
Software libre Fuente: https://es.wikipedia.org/wiki/Software_libre?oldid=98109049 Colaboradores: Youssefsan, Iranzop, Mac, Sebelk,
4lex, Moriel, Frutoseco, Kronoss, Sauron, JorgeGG, ManuelGR, Julie, Rumpelstiltskin, Sanbec, Aparejador, Comae, Rosarino, Dodo, Ej-
meza, Levhita, Triku, Jynus, Ascnder, Alstradiaan, Delatorre, Rsg, AlbertoDV, Elwikipedista, Tano4595, Ramjar, Yakoo, Enric Naval,
Bafomet, Xenoforme, Hdanniel, Gengiskanhg, Xavidp, Xatufan, JavierCantero, Juantomas, Geom, Tian2992, Cinabrium, JosebaAbaitua,
Jgb, Almorca, AlGarcia, Loco085, Ecemaml, DamianFinol, Tlahtopil, Desatonao, Elsenyor, FAR, Iarenaza, Boticario, Soulreaper, Mes-
calier, Hispa, Airunp, Edub, Yrithinnd, Taichi, Rembiapo pohyiete (bot), Caiser, Sbassi, Magister Mathematicae, Worldman, RedTony,
Valadrem, Platonides, Alhen, Flazcano, Superzerocool, Chobot, Insulae, Caiserbot, Gerkijel, Yrbot, Amads, Seanver, BOT-Superzerocool,
Varano, Vitamine, .Sergio, Toniher, Mortadelo2005, GermanX, Equi, Beto29, Juanje, Gaijin, The Photographer, Iajorge, Gronky, Kales-
sin~eswiki, No s qu nick poner, Trebol6, Libero, Martini 001, Ayudoentodo 1, Santiperez, FedericoMP, Gustavo.ovalle, R1chard, Fravia,
Quiliro, Bcoto, Ciencia Al Poder, Leonardocaballero, Lasneyx, Josx, Jarke, Demiannnn, Nihilo, Paintman, Clizarraga, Clapp, Axxgreazz,
Camontuyu, Jstitch, BOTpolicia, l, Wikipaco, CEM-bot, Heavy, Meltryth, Gabriel Acquistapace, Fedaro, Damifb, Laura Fiorucci, Sle-
rena, -jem-, Danoex, Alexav8, Durero, Jjvaca, Retama, Baiji, Jcsans, Roberpl, Pacovila, Bombadil1986, Sonojacker, Antur, Montgomery,
Thijs!bot, Srengel, PabloCastellano, VARGUX, RoyFocker, Csoliverez, Annagul, Patriciadedo, Mario modesto, Ninovolador, Tintinando,
Botones, Isha, Bernard, Hanjin, Arcibel, Vitorres, Mpeinadopa, JAnDbot, Darolu, Cmontero, VanKleinen, Kved, Telma~eswiki, Ronaldfpb,
CarlosRuiz, BetBot~eswiki, Homo logos, Muro de Aguas, Gaius iulius caesar, Xavigivax, Jrbiolinux, CommonsDelinker, TXiKiBoT, Lu-
pa18, ColdWind, Gacq, Humberto, Netito777, Greyes~eswiki, ZrzlKing, Phirosiberia, Chabbot, Mcanto, Plux, BL, Ramiropol, Zeroth,
DonBarredora, Fremen, Openmexico, Snakeyes, Technopat, The Bear That Wasn't, C'est moi, Queninosta, Nicoguaro, Chechurisk, Liber-
tad y Saber, Lmaguina, Josell2, Carlosbz27, Sergio Yinyang, Matdrodes, Elabra sanchez, Synthebot, House, DJ Nietzsche, Mgarciasolipa,
BlackBeast, Shooke, Lucien leGrey, Mr. Memo Cham, Enlineaweb, Muro Bot, Edmenb, El Pantera, SieBot, Mikefarrel, Camr, Ctrl Z,
Rimac, Kansai, Roberto.estrella, Pepe piton, Ugly, Lepoilu8, Pascow, Elnegrojose, Aleposta, Belb, Tirithel, Mutari, Jmmuguerza, Lo-
cos epraix, M S, Javierito92, HUB, Poccms~eswiki, Kikobot, The Yils, Nicop, Fonsi80, Jamkaster, Estirabot, Tosin2627, Eduardosalg,
Veon, Botelln, Leonpolanco, Alejandrocaro35, Kaka poop, LordT, Furti, Artra, Camarlengo, Petruss, Poco a poco, PetrohsW, Alexbot,
Leandropadula, Raulshc, Aipni-Lovrij, Kintaro, Ravave, UA31, Ucevista, Dv ESP, Fcldlibre, AVBOT, Swatnio, David0811, Eveliux,
ShinodaLop, Angel GN, MarcoAurelio, NjardarBot, Enramos, Diegusjaimes, Davidgutierrezalvarez, MelancholieBot, Javu61, Hercule-
Bot, Arjuno3, Dalton2, WikiDreamer Bot, Roinpa, Jotterbot, Electrodan, Vic Fede, Hack-Master, Gonchibolso12, LyingB, Yesenia anai,
Ser Ant, IVAN SAUCEDO, Marcela Cabrera Ruiz, Isela cv, Leonking, Marioxcc, Kavor, Shekatsu8er, Popopopo4443, ArthurBot, More-
nisco, SuperBraulio13, Macruza, Ortisa, Locobot, Manuelt15, Xqbot, Jkbw, Dreitmen, Nessye, FrescoBot, Ricardogpn, Coms23, Surfaz,
Nopetro~eswiki, Botarel, KvedBOT, AstaBOTh15, Neozonik, BOTirithel, TiriBOT, MAfotBOT, Halfdrag, RedBot, Kizar, Cypress213,
P2prules, Cyxmedia, Negro4000, AnselmiJuan, Leugim1972, Aguzanotti, ClaraDelRey, PatruBOT, CVBOT, Dinamik-bot, Mr.Ajedrez,
KSEltar, Antiafd1, Tarawa1943, Asoliverez, Foundling, GrouchoBot, EmausBot, Savh, Keppler es, HRoestBot, Barbanegra, Sergio Andres
Segovia, J. A. Glvez, Fedeanton, Grillitus, Rubpe19, Cal Jac02, Bpk, Jchildrens86, MadriCR, Waka Waka, Caritademenu, Diamondland,
Laocratis, Manubot, Mowero, Antonorsi, Rezabot, Matis 1003, JABO, Yuram, KLBot2, Angelfelipegonzalez, Sebrev, LyingB0, Metro-
Bot, Green Mostaza, Laurarua, HolaTio, NamerThomas, Seasz, Acratta, Glykanera, Darwuinpajaro, Isacdaavid, OdnetninI, Mega-buses,
Elvisor, Creosota, DanielithoMoya, HG Alvarez, Grmanresa, DLeandroc, Helmy oved, Orendona, Yorkot, Syum90, Baute2010, Noma
la golosa, MaKiNeoH, -Raul Fer-, Javier duvan, Lautaro 97, Addbot, Mettallzoar, Balles2601, Iartola, Arkantos13, Luna197, Jose Mar-
tin Jimenez, Mr. Violn, Pablolaguna, Unapoollacomounaolla, Otrapollacomounaolla, SienCondom, Lagoset, Laberinto16, PizzaDuran,
MrCharro, Yenrry16, RousyAyala, Lluvia.vargasm, Kellytepa, Jarould, XBala, Matiia, Maidelrt, Crystallizedcarbon, Lupingr, AlvaroMo-
lina, BenjaBot, 4lextintor, Betoberto caballin, Jostag, Jrsheik, Dinmondin, Misterborracho, Estuaria8, Diostar, NinoBot, Liacco, Fer-
nando2812l, Ks-M9, Yuranigt, Krewx3, Strikeforceheroes3, FTE L 2016 ejcmt, Lcostero, Francisco32187, Natedu16, Gudiofernandez,
S15636, FTeL09, Jpaniaguaro, Juanapalote, Gengonart, Matias amalia, HenryTek, Smolis, Virponchi, VIDACO, Herraudio y Annimos:
808

13.2 Imgenes
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
Archivo:Heckert_GNU_white.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/2/22/Heckert_GNU_white.svg Licencia:
CC BY-SA 2.0 Colaboradores: gnu.org Artista original: Aurelio A. Heckert <aurium@gmail.com>
Archivo:MapaConceptualFLOSS.png Fuente: https://upload.wikimedia.org/wikipedia/commons/7/79/MapaConceptualFLOSS.png
Licencia: CC BY 3.0 Colaboradores: Trabajo propio Artista original: VARGUX
Archivo:Mapa_conceptual_del_software__libre.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/6/61/Mapa_
conceptual_del_software_libre.svg Licencia: CC BY-SA 3.0 Colaboradores: http://es.gnu.org/~{}reneme/map/es/ Artista original: Ren
Mrou
Archivo:Richard_Matthew_Stallman.jpeg Fuente: https://upload.wikimedia.org/wikipedia/commons/f/f7/Richard_Matthew_
Stallman.jpeg Licencia: CC-BY-SA-3.0 Colaboradores: Taken from the cover of the O'Reilly book w:Free as in Freedom: Richard
Stallmans Crusade for Free Software Artista original: Sam Williams
Archivo:Software-294x567.JPG Fuente: https://upload.wikimedia.org/wikipedia/commons/f/fe/Software-294x567.JPG Licencia: CC
BY-SA 4.0 Colaboradores: Trabajo propio Artista original: Jrsheik
Archivo:Wikinews-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/2/24/Wikinews-logo.svg Licencia: CC BY-SA
3.0 Colaboradores: This is a cropped version of Image:Wikinews-logo-en.png. Artista original: Vectorized by Simon 01:05, 2 August
2006 (UTC) Updated by Time3000 17 April 2007 to use ocial Wikinews colours and appear correctly on dark backgrounds. Originally
uploaded by Simon.
Archivo:Wikiversity-logo-Snorky.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1b/Wikiversity-logo-en.svg Licen-
cia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Snorky
14 13 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

13.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
GNU

GNU es un sistema operativo de tipo Unix desarrolla- Movimiento del software libre
do por y para el Proyecto GNU, y auspiciado por la
Free Software Foundation. Est formado en su totalidad Historia del software libre y de cdigo abierto
por software libre, mayoritariamente bajo trminos de Anexo:Paquetes GNU
copyleft. GNU es el acrnimo recursivo de GNUs Not
Unix (en espaol: GNU no es Unix),[1][2] nombre elegido
debido a que GNU sigue un diseo tipo Unix y se mantie-
ne compatible con ste, pero se distingue de Unix por ser
2 Referencias
software libre y por no contener cdigo de Unix.[3][1][4][5]
[1] Kirk St.Amant & Brian Still. Handbook of Research on
El desarrollo de GNU ha sido liderado desde su inicio Open Source Software: Technological, Economic, and So-
en 1983 por Richard Stallman,[1][6] auxiliado por un n- cial Perspectives. ISBN 1591409993.
mero de acadmicos, programadores voluntarios y for-
[2] GNUs Not Unix. Thefreedictionary.com. Consultado
malmente empleados, con el objetivo de crear el primer el 22 de septiembre de 2012.
sistema operativo completamente libre. A fecha de di-
ciembre de 2013 todava no hay un lanzamiento ocial [3] The GNU Operating system. Consultado el 18 de agos-
de GNU[1][7][8][9] pero el proyecto ha sido responsable to de 2008.
por la creacin de varios programas ampliamente utili- [4] GNU Manifesto. Gnu.org. Consultado el 27 de julio de
zados; como los compiladores GCC, el intrprete de co- 2011.
mandos Bash, el editor de texto Emacs e incluso el escri-
torio GNOME. La Free Software Foundation considera [5] Raymond, Eric (1 de febrero de 2001). The Cathedral &
que el objetivo principal del Proyecto GNU ha sido al- the Bazaar: Musings on Linux and Open Source by an Acci-
canzado con la ayuda de otros programas de software li- dental Revolutionary. pp. 10-12. ISBN 9780596001087.
bre ajenos a GNU, por lo que el desarrollo de un sistema [6] Marshall, Rosalie (17 de noviembre de 2008). Q&A: Ri-
operativo puramente GNU se ha vuelto una tarea secun- chard Stallman, founder of the GNU Project and the Free
daria al crecimiento y manutencin del sistema existente Software Foundation. PC & Tech Authority. Consultado
(GNU/Linux), y secundaria a la garanta de la libertad de el 22 de septiembre de 2012.
sus usuarios y la promocin de tales ideas. Richard Stall-
[7] Vaughan-Nichols, Steven J. "Opinion: The top 10 opera-
man as como muchos otros partidarios del movimiento ting system stinkers" in Computerworld, April 9, 2009:
del software libre considera al sistema operativo GNU But after more than 25 years in development, GNU re-
como un medio tcnico para un n social.[10] mains incomplete: Its kernel, Hurd, has never really made
El proyecto GNU originalmente pretenda remplazar el it out of the starting blocks.... Almost no one has actually
ncleo de Unix con su propio ncleo llamado GNU Hurd, been able to use the OS; its really more a set of ideas than
an operating system.
pero las implementaciones comunes de GNU siempre
han usado Linux en lugar de Hurd; combinacin a la cual [8] Hillesley, Richard. "GNU HURD: Altered visions and lost
se le llama GNU/Linux o simplemente Linux.[11][12][13] promise", June 30, 2010. See especially page 3: Nearly
Ntese que el Proyecto GNU denomina a GNU como twenty years later the HURD has still to reach maturity,
"sistema operativo" en el sentido coloquial del termino, and has never achieved production quality.... Some of
similar al de distribucin, como sucede cuando se habla us are still wishing and hoping for the real deal, a GNU
de sistemas operativos como Windows, Mac OS, Android operating system with a GNU kernel.
e incluso Unix; mientras que algunos programas particu- [9] Lessig, Lawrence. The Future of Ideas: The Fate of the
lares como Linux y GNU Hurd tambin son llamados sis- Commons in a Connected World, p. 54. Random House,
temas operativos en calidad de kernels o ncleos. Inc., 2001. ISBN 978-0-375-50578-2. Referring to Stall-
man, Lessig wrote, He had mixed all of the ingredients
needed for an operating system to function, but he was
missing the core.
1 Vase tambin
[10] Richard Stallmans speech in Stockholm, Sweden in 1986
www.gnu.org
GNU Hurd
[11] Information about the Linux OS (Operating System).
Creative Commons Ntchosting.com. Consultado el 22 de septiembre de 2012.

1
2 3 ENLACES EXTERNOS

[12] [Chapter 1] 1.2 What is Linux?. Oreilly.com. 5 de oc-


tubre de 1991. Consultado el 22 de septiembre de 2012.

[13] What is GNU/Linux?. Help.ubuntu.com. Archivado


desde el original el 19 de noviembre de 2015. Consultado
el 22 de septiembre de 2012.

3 Enlaces externos

Wikimedia Commons alberga contenido multi-


media sobre GNUCommons.


Sitio web ocial

Ports of GNU utilities for Microsoft Windows


The daemon, the GNU and the penguin
3

4 Origen del texto y las imgenes, colaboradores y licencias


4.1 Texto
GNU Fuente: https://es.wikipedia.org/wiki/GNU?oldid=95813636 Colaboradores: -jem-, Max Changmin, UA31, Xqbot, Kizar, Patru-
BOT, Gustavo Girardelli, Gauri, Sergio Andres Segovia, Grillitus, MetroBot, Invadibot, Isacdaavid, Elvisor, Balles2601, Saectar, Lazaro
Villalba, BenjaBot, Diostar, Lucas de Toboso y Annimos: 14

4.2 Imgenes
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
Archivo:HURD_Live_CD.png Fuente: https://upload.wikimedia.org/wikipedia/commons/d/d4/HURD_Live_CD.png Licencia: GPL
Colaboradores: http://hacktolive.org/images Artista original: http://hacktolive.org/
Archivo:Heckert_GNU_white.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/2/22/Heckert_GNU_white.svg Licencia:
CC BY-SA 2.0 Colaboradores: gnu.org Artista original: Aurelio A. Heckert <aurium@gmail.com>

4.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Procesamiento por lotes

Se conoce como sistema por lotes (en ingls batch pro- 3 Referencias
cessing), o modo batch, a la ejecucin de un programa sin
el control o supervisin directa del usuario (que se deno- [1] http://docs.gimp.org/es/gimp-introduction-history-2-2.
mina procesamiento interactivo). Este tipo de programas html
se caracterizan porque su ejecucin no precisa ningn ti-
po de interaccin con el usuario.
Generalmente, este tipo de ejecucin se utiliza en tareas
repetitivas sobre grandes conjuntos de informacin, ya
que sera tedioso y propenso a errores realizarlo manual-
mente. Un ejemplo sera el renderizado de los fotogramas
de una pelcula.
Los programas que ejecutan por lotes suelen especicar
su funcionamiento mediante scripts o guiones (procedi-
mientos) en los que se indica qu se quiere ejecutar y,
posiblemente, qu tipo de recursos necesita reservar.

1 Programas batch
Algunos programas conocidos que pueden funcionar
en modo por lotes: GIMP (GNU Image Manipu-
lation Program),[1] R-project, gnuplot, GNU Octave,
command.com, EXEC II, entre otros muchos.
Realmente, casi cualquier programa puede ejecutar en
modo batch, siempre y cuando pueda especicarse los
distintos pasos de ejecucin o las entradas de usuario a
partir de un script.
Es importante no confundir el procesamiento por lotes
con los programas o archivos .bat de los sistemas batch
(de los cuales heredan su nombre debido a su metodolo-
ga). Como bien est explicado ms arriba, estos archivos
se ejecutan de manera secuencial, y cerrando la ejecucin
al usuario ya que este no puede interactuar ni intervenir
en el programa que se ejecuta.
Frente a este tenemos los 'Sistemas por batch', los cuales
son una manera de llevar a cabo el proceso de la informa-
cin, en lenguaje llano, una manera de hacer informtica,
en estos sistemas los programas y tareas se ejecutan de
manera secuencial, no porque el programa lo exija como
es el caso de los .bat, sino porque no conoca otra forma
de ejecucin.

2 Vase tambin

Tiempo compartido

1
2 4 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

4 Origen del texto y las imgenes, colaboradores y licencias


4.1 Texto
Procesamiento por lotes Fuente: https://es.wikipedia.org/wiki/Procesamiento_por_lotes?oldid=95361333 Colaboradores: Sabbut, Rivie-
ra, LeonardoRob0t, Ombresaco, GermanX, BOTpolicia, Qwertyytrewqqwerty, CEM-bot, Chuo, VARGUX, Dogor, JAnDbot, Johns,
Alfonso, Xavigivax, Gsrdzl, Netito777, Cinevoro, Technopat, Matdrodes, DJ Nietzsche, PaintBot, Manw, Sgcalle, Farisori, Alexbot,
Bufanuvols, UA31, AVBOT, Diegusjaimes, DumZiBoT, Arjuno3, Amirobot, MartinDM, SuperBraulio13, Jkbw, BenzolBot, Panderine!,
Hprmedina, Marsal20, BF14, PatruBOT, EmausBot, ChuispastonBot, Dr tran is back, Antonorsi, KLBot2, Invadibot, Helmy oved, Profe-
sorFavalli, Legobot, Katen1992, NaahLik y Annimos: 61

4.2 Imgenes

4.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Computacin paralela

La supercomputadora Cray-2 fue la ms rpida del mundo desde 1985 hasta 1989.

La supercomputadora paralela Blue Gene de IBM.

La computacin paralela es una forma de cmputo en la que muchas instrucciones se


ejecutan simultneamente,1 operando sobre el principio de que problemas grandes, a
menudo se pueden dividir en unos ms pequeos, que luego son resueltos
simultneamente (en paralelo). Hay varias formas diferentes de computacin paralela:
paralelismo a nivel de bit, paralelismo a nivel de instruccin, paralelismo de
datos y paralelismo de tareas. El paralelismo se ha empleado durante muchos aos, sobre
todo en la computacin de altas prestaciones, pero el inters en ella ha decrecido
ltimamente debido a las limitaciones fsicas que impiden el aumento de la frecuencia.n.
1 2 Como el consumo de energa y por consiguiente la generacin de calor de las

computadoras constituye una preocupacin en los ltimos aos,n. 2 3 la computacin en


paralelo se ha convertido en el paradigma dominante en la arquitectura de computadores,
principalmente en forma de procesadores multincleo.n. 3 4
Las computadoras paralelas pueden clasificarse segn el nivel de paralelismo que admite
su hardware: equipos con procesadores multincleo y multi-procesador que tienen
mltiples elementos de procesamiento dentro de una sola mquina y
los clsteres, MPPS y grids que utilizan varios equipos para trabajar en la misma tarea.
Muchas veces, para acelerar tareas especficas, se utilizan arquitecturas especializadas de
computacin en paralelo junto a procesadores tradicionales.
Los programas informticos paralelos son ms difciles de escribir que los
secuenciales,5 porque la concurrencia introduce nuevos tipos de errores de software,
siendo las condiciones de carrera los ms comunes. La comunicacin
y sincronizacin entre diferentes subtareas son algunos de los mayores obstculos para
obtener un buen rendimiento del programa paralelo.
La mxima aceleracin posible de un programa como resultado de la paralelizacin se
conoce como la ley de Amdahl.

Conceptos bsicos[editar]
Tradicionalmente, los programas informticos se han escrito para el cmputo en serie.
Para resolver un problema, se construye un algoritmo y se implementa como un flujo en
serie de instrucciones. Estas instrucciones se ejecutan en una unidad central de
procesamiento en un ordenador. Slo puede ejecutarse una instruccin a la vez y un
tiempo despus de que la instruccin ha terminado, se ejecuta la siguiente.6
La computacin en paralelo, por el contrario, utiliza simultneamente mltiples elementos
de procesamiento para resolver un problema. Esto se logra mediante la divisin del
problema en partes independientes de modo que cada elemento de procesamiento pueda
ejecutar su parte del algoritmo de manera simultnea con los otros. Los elementos de
procesamiento son diversos e incluyen recursos tales como una computadora con
mltiples procesadores, varios ordenadores en red, hardware especializado, o cualquier
combinacin de los anteriores.6
El aumento de la frecuencia fue la razn dominante de las mejoras en el rendimiento de
las computadoras desde mediados de 1980 hasta el ao 2004. El tiempo de ejecucin de
un programa es igual al nmero de instrucciones multiplicado por el tiempo promedio por
instruccin. Manteniendo todo lo dems constante, el aumento de la frecuencia de
reloj reduce el tiempo medio que tarda en ejecutarse una instruccin, por tanto un aumento
en la frecuencia reduce el tiempo de ejecucin de los programas de cmputo.7
Sin embargo, el consumo de energa de un chip est dada por la ecuacin P = C V2 F,
donde P es la potencia, C es el cambio de capacitancia por ciclo de reloj proporcional al
nmero de transistores cuyas entradas cambian, V es la tensin, y F es la frecuencia
del procesador (ciclos por segundo).8 Un aumento en la frecuencia aumenta la cantidad de
energa utilizada en un procesador. El aumento del consumo de energa del procesador
llev a Intel en mayo del 2004 a la cancelacin de sus procesadores Tejas y Jayhawk, este
hecho generalmente se cita como el fin del escalado de frecuencia como el paradigma
dominante de arquitectura de computadores.9
La ley de Moore es la observacin emprica de que la densidad de transistores en un
microprocesador se duplica cada 18 a 24 meses.10 A pesar de los problemas de consumo
de energa, y las repetidas predicciones de su fin, la ley de Moore sigue vigente. Con el fin
del aumento de la frecuencia, estos transistores adicionales que ya no se utilizan para el
aumento de la frecuencia se pueden utilizar para aadir hardware adicional que permita
la computacin paralela.
Ley de Amdahl y ley de Gustafson[editar]

Representacin grfica de la ley de Amdahl. La mejora en la velocidad de ejecucin de un programa


como resultado de la paralelizacin est limitada por la porcin del programa que no se puede
paralelizar. Por ejemplo, si el 10% del programa no puede paralelizarse, el mximo terico de
aceleracin utilizando la computacin en paralelo sera de 10x no importa cuntos procesadores se
utilicen.

Idealmente, la aceleracin a partir de la paralelizacin es lineal, doblar el nmero de


elementos de procesamiento debe reducir a la mitad el tiempo de ejecucin y doblarlo por
segunda vez debe nuevamente reducir el tiempo a la mitad. Sin embargo, muy pocos
algoritmos paralelos logran una aceleracin ptima. La mayora tienen una aceleracin
casi lineal para un pequeo nmero de elementos de procesamiento, y pasa a ser
constante para un gran nmero de elementos de procesamiento.
La aceleracin potencial de un algoritmo en una plataforma de cmputo en paralelo est
dada por la ley de Amdahl, formulada originalmente por Gene Amdahl en la dcada de
1960.11 Esta seala que una pequea porcin del programa que no pueda paralelizarse va
a limitar la aceleracin que se logra con la paralelizacin. Los programas que resuelven
problemas matemticos o ingenieriles tpicamente consisten en varias partes

paralelizables y varias no paralelizables (secuenciales). Si es la fraccin de tiempo


que un programa gasta en partes no paralelizables, luego

es la mxima aceleracin que se puede alcanzar con la paralelizacin del programa. Si


la parte secuencial del programa abarca el 10% del tiempo de ejecucin, se puede
obtener no ms de 10 de aceleracin, independientemente de cuntos procesadores
se aadan. Esto pone un lmite superior a la utilidad de aadir ms unidades de
ejecucin paralelas. Cuando una tarea no puede divididirse debido a las limitaciones
secuenciales, la aplicacin de un mayor esfuerzo no tiene efecto sobre la
programacin. La gestacin de un nio toma nueve meses, no importa cuntas
mujeres se le asigne.12
La ley de Gustafson es otra ley en computacin que est en estrecha relacin con la

ley de Amdahl.13 Seala que el aumento de velocidad con procesadores es

Supongamos que una tarea tiene dos partes independientes, A y B. B tarda


aproximadamente 25% del tiempo total. Con esfuerzo adicional, un programador puede
hacer esta parte cinco veces ms rpida, pero esto reduce el tiempo de clculo global por
muy poco. Por otro lado, puede que sea necesario poco trabajo para hacer que la parte A
sea doble de rpida. Esto hara el clculo mucho ms rpido que mediante la optimizacin
de la parte B, a pesar de que B tiene una mayor aceleracin (5x frente a 2).
Ambas leyes asumen que el tiempo de funcionamiento de la parte secuencial del
programa es independiente del nmero de procesadores. La ley de Amdahl
supone que todo el problema es de tamao fijo, por lo que la cantidad total de
trabajo que se har en paralelo tambin es independiente del nmero de
procesadores, mientras que la ley de Gustafson supone que la cantidad total de
trabajo que se har en paralelo vara linealmente con el nmero de procesadores.
Dependencias[editar]
Entender la dependencia de datos es fundamental en
la implementacin de algoritmos paralelos. Ningn programa puede ejecutar ms
rpidamente que la cadena ms larga de clculos dependientes (conocida como
la ruta crtica), ya que los clculos que dependen de clculos previos en la cadena
deben ejecutarse en orden. Sin embargo, la mayora de los algoritmos no
consisten slo de una larga cadena de clculos dependientes; generalmente hay
oportunidades para ejecutar clculos independientes en paralelo.
Sea Pi y Pj dos segmentos del programa. Las condiciones de
Bernstein14 describen cuando los dos segmentos son independientes y pueden
ejecutarse en paralelo. Para Pi, sean Ii todas las variables de entrada y Oi las
variables de salida, y del mismo modo para Pj. P i y Pj son independientes si
satisfacen

Una violacin de la primera condicin introduce una dependencia de flujo,


correspondiente al primer segmento que produce un resultado utilizado por el
segundo segmento. La segunda condicin representa una anti-dependencia,
cuando el segundo segmento (Pj) produce una variable que necesita el primer
segmento (Pi). La tercera y ltima condicin representa una dependencia de
salida: Cuando dos segmentos escriben en el mismo lugar, el resultado viene del
ltimo segmento ejecutado.15
Considere las siguientes funciones, que demuestran varios tipos de dependencias:

1: funcin Dep(a, b)
2: c: = a b
3: d: = 3 c
4: fin funcin

La operacin 3 en Dep(a, b) no puede ejecutarse antes de o incluso en paralelo


con la operacin 2, ya que en la operacin 3 se utiliza un resultado de la
operacin 2. Esto viola la condicin 1, y por tanto introduce una dependencia de
flujo.

1: funcin NoDep (a, b)


2: c: = a b
3: d: b = 3
4: e: = a + b
5: fin funcin

En este ejemplo, no existen dependencias entre las instrucciones, por lo que todos
ellos se pueden ejecutar en paralelo.
Las condiciones de Bernstein no permiten que la memoria se comparta entre los
diferentes procesos. Por esto son necesarios algunos medios que impongan un
ordenamiento entre los accesos tales como semforos, barreras o algn otro
mtodo de sincronizacin.
Condiciones de carrera, exclusin mutua, sincronizacin, y
desaceleracin paralela[editar]
Las subtareas en un programa paralelo a menudo son llamadas hilos. Algunas
arquitecturas de computacin paralela utilizan versiones ms pequeas y ligeras
de hilos conocidas como hebras, mientras que otros utilizan versiones ms
grandes conocidos como procesos. Sin embargo, hilos es generalmente
aceptado como un trmino genrico para las subtareas. Los hilos a menudo
tendrn que actualizar algunas variables que se comparten entre ellos. Las
instrucciones entre los dos programas pueden entrelazarse en cualquier orden.
Por ejemplo, considere el siguiente programa:

Hilo A Hilo B

1A: Lee variable V 1B: Lee variable V

2A: Aadir 1 a la variable V 2B: Aadir 1 a la variable V

3A: Escribir en la variable V 3B: Escribir en la variable V

Si la instruccin 1B se ejecuta entre 1A y 3A, o si la instruccin 1A se ejecuta entre


1B y 3B, el programa va a producir datos incorrectos. Esto se conoce como
una condicin de carrera. El programador debe utilizar un bloqueo (lock) para
proporcionar exclusin mutua. Un bloqueo es una construccin del lenguaje de
programacin que permite a un hilo de tomar el control de una variable y evitar
que otros hilos la lean o escriban, hasta que la variable est desbloqueado. El hilo
que mantiene el bloqueo es libre de ejecutar su seccin crtica la seccin de un
programa que requiere acceso exclusivo a alguna variable, y desbloquear los
datos cuando termine. Por lo tanto, para garantizar la correcta ejecucin del
programa, el programa anterior se puede reescribir usando bloqueos:

Hilo A Hilo B

1A: Bloquear variable V 1B: Bloquear variable V

2A: Lee variable V 2B: Lee variable V


3A: Aadir 1 a la variable V 3B: Aadir 1 a la variable V

4A: Escribir en la variable V 4B: Escribir en la variable V

5A: Desbloquear variable V 5B: Desbloquear variable V

Un hilo bloquear con xito la variable V, mientras que el otro hilo no podr
continuar hasta que V se desbloquee. Esto garantiza la correcta ejecucin del
programa. Si bien los bloqueos son necesarios para asegurar la ejecucin correcta
del programa, pueden ralentizar en gran medida un programa.
Bloquear mltiples variables utilizando cerraduras no atmicas introduce la
posibilidad de que el programa alcance un bloqueo mutuo (deadlock). Un bloqueo
atmico bloquea mltiples variables a la vez, si no puede bloquearlas todas, no se
bloquea ninguna de ellas. Si hay dos hilos y cada uno necesita bloquear las
mismas dos variables utilizando cerraduras no atmicas, es posible que un hilo
bloquee uno de ellas y el otro bloquee la segunda variable. En tal caso se produce
un bloqueo mutuo donde ningn hilo puede completar la ejecucin.
Muchos programas paralelos requieren que sus subtareas acten en sincrona.
Esto requiere el uso de una barrera. Las barreras se implementan normalmente
mediante un bloqueo. Una clase de algoritmos, conocida como algoritmos libres
de bloqueo y libres de espera, evitan el uso de bloqueos y barreras. Sin embargo,
este enfoque es generalmente difcil de implementar y requiere estructuras de
datos correctamente diseadas.
No todas las paralelizaciones conllevan una aceleracin. Por lo general, mientras
una tarea se divida en cada vez ms hilos, estos hilos pasan una porcin cada vez
mayor de su tiempo comunicndose entre s. Eventualmente, la sobrecarga de
comunicacin domina el tiempo empleado para resolver el problema, y la
paralelizacin adicional dividir la carga de trabajo entre incluso ms hilos
aumenta la cantidad de tiempo requerido para terminar. Esto se conoce
como desaceleracin paralela.
Paralelismo de grano fino, grano grueso y paralelismo
vergonzoso[editar]
Las aplicaciones a menudo se clasifican segn la frecuencia con que sus
subtareas se sincronizan o comunican entre s. Una aplicacin muestra un
paralelismo de grano fino si sus subtareas deben comunicase muchas veces por
segundo, se considera paralelismo de grano grueso si no se comunican muchas
veces por segundo, y es vergonzosamente paralelo si nunca o casi nunca se
tienen que comunicar. Aplicaciones vergonzosamente paralelas son consideradas
las ms fciles de paralelizar.
Modelos de consistencia[editar]
Artculo principal: Consistencia de datos
Leslie Lamport defini por primera vez el concepto de consistencia secuencial.
Tambin es conocido por su trabajo en el desarrollo del software LaTeX.

Los lenguajes de programacin en paralelo y computadoras paralelas deben tener


un modelo de consistencia de datos tambin conocido como un modelo de
memoria. El modelo de consistencia define reglas para las operaciones en
la memoria del ordenador y cmo se producen los resultados.
Uno de los primeros modelos de consistencia fue el modelo de consistencia
secuencial de Leslie Lamport. La consistencia secuencial es la propiedad de un
programa en la que su ejecucin en paralelo produce los mismos resultados que
un programa secuencial. Especficamente, es un programa secuencial consistente
si ... los resultados de una ejecucin son los mismos que se obtienen si las
operaciones de todos los procesadores son ejecutadas en un orden secuencial, y
las operaciones de cada procesador individual aparecen en esta secuencia en el
orden especificado por el programa.16
La memoria transaccional es un tipo de modelo de consistencia. La memoria
transaccional toma prestado de la teora de base de datos el concepto
de transacciones atmicas y las aplica a los accesos a memoria.
Matemticamente, estos modelos se pueden representar de varias maneras.
Las Redes de Petri, que se introdujeron en 1962 como tesis doctoral de Carl Adam
Petri, fueron un primer intento de codificar las reglas de los modelos de
consistencia. Ms tarde fueron creadas las arquitecturas de flujo de datos para
implementar fsicamente las ideas de la teora del flujo de datos. A principios de
la dcada de 1970, los clculos de procesos tales como la Comunicacin de
Sistemas y Comunicacin de Procesos Secuenciales se desarrollaron para
permitir un razonamiento algebraico sobre sistemas compuestos por elementos
que interactan entre s. Adiciones ms recientes a la familia de clculo de
proceso, como el clculo-, han aadido la capacidad para razonar acerca de
las topologas dinmicas. Lgicas tales como la TLA+ de Lamport, y modelos
matemticos se han desarrollado para describir el comportamiento de sistemas
concurrentes.
Taxonoma de Flynn[editar]
Michael J. Flynn cre uno de los primeros sistemas de clasificacin de
computadoras, programas paralelos y secuenciales, ahora conocida como
la taxonoma de Flynn. Flynn clasifica los programas y computadoras atendiendo a
si estn operando con uno o varios conjuntos de instrucciones y si esas
instrucciones se utilizan en una o varias series de datos.

Instruccin individual Instruccin mltiple


Datos individuales SISD MISD

Mltiples datos SIMD MIMD

La clasificacin instruccin-nica-dato-nico (SISD) es equivalente a un programa


totalmente secuencial. La clasificacin instruccin-nica-datos-mltiples (SIMD) es
anloga a hacer la misma operacin varias veces sobre un conjunto de datos
grande. Esto se hace comnmente en aplicaciones de procesamiento de seales.
Instrucciones-mltiples-dato-nico (MISD) es una clasificacin que rara vez se
utiliza. A pesar de que se disearon arquitecturas de computadoras en esta
categora como arreglos sistlicos, muy pocas aplicaciones se materializaron.
Los programas instrucciones-mltiples-datos-mltiples (MIMD) constituyen el tipo
ms comn de programas paralelos.
Segn David A. Patterson y John L. Hennessy, Algunas mquinas son hbridos
de estas categoras, por supuesto, este modelo clsico ha sobrevivido porque es
simple, fcil de entender, y da una buena primera aproximacin. Adems, es, tal
vez por su comprensibilidad, el esquema ms utilizado.17

Tipos de paralelismo[editar]
Paralelismo a nivel de bit[editar]
Desde el advenimiento de la integracin a gran escala (VLSI) como tecnologa de
fabricacin de chips de computadora en la dcada de 1970 hasta alrededor de
1986, la aceleracin en la arquitectura de computadores se lograba en gran
medida duplicando el tamao de la palabra en la computadora, la cantidad de
informacin que el procesador puede manejar por ciclo.18 El aumento del tamao
de la palabra reduce el nmero de instrucciones que el procesador debe ejecutar
para realizar una operacin en variables cuyos tamaos son mayores que la
longitud de la palabra. Por ejemplo, cuando un procesador de 8 bits debe sumar
dos enteros de 16 bits, el procesador primero debe adicionar los 8 bits de orden
inferior de cada nmero entero con la instruccin de adicin, a continuacin,
aadir los 8 bits de orden superior utilizando la instruccin de adicin con acarreo
que tiene en cuenta el bit de acarreo de la adicin de orden inferior, en este caso
un procesador de 8 bits requiere dos instrucciones para completar una sola
operacin, en donde un procesador de 16 bits necesita una sola instruccin para
poder completarla.
Histricamente, los microprocesadores de 4 bits fueron sustituidos por unos de 8
bits, luego de 16 bits y 32 bits, esta tendencia general lleg a su fin con la
introduccin de procesadores de 64 bits, lo que ha sido un estndar en la
computacin de propsito general durante la ltima dcada.
Paralelismo a nivel de instruccin[editar]

Un pipeline cannico de cinco etapas en una mquina RISC (IF = Pedido de


Instruccin, ID = Decodificacin de instruccin, EX = Ejecutar, MEM = Acceso a la
memoria, WB = Escritura)
Un programa de ordenador es, en esencia, una secuencia de instrucciones
ejecutadas por un procesador. Estas instrucciones pueden reordenarse y
combinarse en grupos que luego son ejecutadas en paralelo sin cambiar el
resultado del programa. Esto se conoce como paralelismo a nivel de instruccin.
Los avances en el paralelismo a nivel de instruccin dominaron la arquitectura de
computadores desde mediados de 1980 hasta mediados de la dcada de 1990.19
Los procesadores modernos tienen ''pipeline'' de instrucciones de varias etapas.
Cada etapa en el pipeline corresponde a una accin diferente que el procesador
realiza en la instruccin correspondiente a la etapa; un procesador con
un pipeline de N etapas puede tener hasta n instrucciones diferentes en diferentes
etapas de finalizacin. El ejemplo cannico de un procesador segmentado es un
procesador RISC, con cinco etapas: pedir instruccin, decodificar, ejecutar, acceso
a la memoria y escritura. El procesador Pentium 4 tena un pipeline de 35
etapas.20

Un procesador superescalar con pipeline de cinco etapas, capaz de ejecutar dos


instrucciones por ciclo. Puede tener dos instrucciones en cada etapa del pipeline, para
un total de hasta 10 instrucciones (se muestra en verde) ejecutadas simultneamente.

Adems del paralelismo a nivel de instruccin del pipelining, algunos procesadores


pueden ejecutar ms de una instruccin a la vez. Estos son conocidos como
procesadores superescalares. Las instrucciones pueden agruparse juntas slo si
no hay dependencia de datos entre ellas. El scoreboarding y el algoritmo de
Tomasulo que es similar a scoreboarding pero hace uso del renombre de
registros son dos de las tcnicas ms comunes para implementar la ejecucin
fuera de orden y la paralelizacin a nivel de instruccin.
Paralelismo de datos[editar]
Artculo principal: Paralelismo de datos

El paralelismo de datos es el paralelismo inherente en programas con ciclos, que


se centra en la distribucin de los datos entre los diferentes nodos
computacionales que deben tratarse en paralelo. La paralelizacin de ciclos
conduce a menudo a secuencias similares de operaciones no necesariamente
idnticas o funciones que se realizan en los elementos de una gran estructura
de datos.21 Muchas de las aplicaciones cientficas y de ingeniera muestran
paralelismo de datos.
Una dependencia de terminacin de ciclo es la dependencia de una iteracin de
un ciclo en la salida de una o ms iteraciones anteriores. Las dependencias de
terminacin de ciclo evitan la paralelizacin de ciclos. Por ejemplo, considere el
siguiente pseudocdigo que calcula los primeros nmeros de Fibonacci:

1: PREV1 := 0
2: PREV2 := 1
3: do:
4: CUR := PREV1 + PREV2
5: PREV1 := PREV2
6: PREV2 := CUR
7: while (CUR < 10)

Este bucle no se puede paralelizar porque CUR depende de s mismo (PREV2) y


de PREV1, que se calculan en cada iteracin del bucle. Dado que cada iteracin
depende del resultado de la anterior, no se pueden realizar en paralelo. A medida
que el tamao de un problema se hace ms grande, la paralelizacin de datos
disponible generalmente tambin lo hace.22
Paralelismo de tareas[editar]
Artculo principal: Paralelismo de tareas

El paralelismo de tareas es la caracterstica de un programa paralelo en la que


clculos completamente diferentes se pueden realizar en cualquier conjunto igual
o diferente de datos.21 Esto contrasta con el paralelismo de datos, donde se
realiza el mismo clculo en distintos o mismos grupos de datos. El paralelismo de
tareas por lo general no escala con el tamao de un problema.22

Hardware[editar]
Memoria y comunicacin[editar]
La memoria principal en un ordenador en paralelo puede ser compartida
compartida entre todos los elementos de procesamiento en un nico espacio de
direcciones, o distribuida cada elemento de procesamiento tiene su propio
espacio local de direcciones.23 El trmino memoria distribuida se refiere al hecho
de que la memoria se distribuye lgicamente, pero a menudo implica que tambin
se distribuyen fsicamente. La memoria distribuida-compartida y la virtualizacin de
memoria combinan los dos enfoques, donde el procesador tiene su propia
memoria local y permite acceso a la memoria de los procesadores que no son
locales. Los accesos a la memoria local suelen ser ms rpidos que los accesos a
memoria no local.

Una vista lgica de una arquitectura con acceso a memoria no uniforme (NUMA). Los
procesadores en un directorio pueden acceder a la memoria de su directorio con una
menor latencia de la que pueden acceder a la memoria del directorio de otro.

Las arquitecturas de ordenador en las que cada elemento de la memoria principal


se puede acceder con igual latencia y ancho de banda son conocidas como
arquitecturas de acceso uniforme a memoria (UMA). Tpicamente, slo se puede
lograr con un sistema de memoria compartida, donde la memoria no est
distribuida fsicamente. Un sistema que no tiene esta propiedad se conoce como
arquitectura de acceso a memoria no uniforme (NUMA). Los sistemas de memoria
distribuidos tienen acceso no uniforme a la memoria.
Los sistemas informticos suelen hacer uso de cachs, pequeos recuerdos
rpidos ubicados cerca del procesador que almacenan las copias temporales de
los valores de la memoria cercano, tanto en el sentido fsico y lgico. Los
sistemas computacionales paralelos tienen dificultades con las cachs y la
posibilidad de una ejecucin incorrecta del programa debido a que se puede
almacenar el mismo valor en ms de un lugar. Estos equipos requieren coherencia
en la cach del sistema, generalmente realizan un seguimiento de los valores
almacenados en cach y estratgicamente los eliminan, garantizando la correcta
ejecucin del programa. Bus sniffing es uno de los mtodos ms comunes para
hacer el seguimiento de los valores a los que se est accediendo. El diseo de
grandes sistemas de coherencia cach y de alto rendimiento es un problema muy
difcil en arquitectura de computadores. Como resultado, las arquitecturas de
memoria compartida no son tan escalables como los sistemas de memoria
distribuida.23
La comunicacin procesador-procesador y procesador-memoria se puede
implementar en hardware de varias maneras: a travs de memoria compartida
ya sea multipuerto o multiplexado, un conmutador de barras cruzadas (crossbar
switch), un bus compartido o una red interconectada de una gran variedad
de topologas como estrella, anillo, rbol, hipercubo, hipercubo grueso un
hipercubo con ms de un procesador en un nodo, o de malla n-dimensional.
Las computadoras paralelas basadas en redes interconectadas deben tener algn
tipo de enrutamiento para permitir el paso de mensajes entre nodos que no estn
conectados directamente. Es probable que el medio utilizado para la comunicacin
entre los procesadores de grandes mquinas multiprocesador sea jerrquico.
Clases de computadoras paralelas[editar]
Las computadoras paralelas se pueden clasificar de acuerdo con el nivel en el que
el hardware soporta paralelismo. Esta clasificacin es anloga a la distancia entre
los nodos bsicos de cmputo. Estos no son excluyentes entre s, por ejemplo, los
grupos de multiprocesadores simtricos son relativamente comunes.
Computacin multincleo[editar]
Artculo principal: Procesador multincleo

Un procesador multincleo es un procesador que incluye mltiples unidades de


ejecucin (ncleos) en el mismo chip. Los procesadores superescalares pueden
ejecutar mltiples instrucciones por ciclo de un flujo de instrucciones (hilo), a
diferencia de este, un procesador multincleo puede ejecutar mltiples
instrucciones por ciclo de secuencias de instrucciones mltiples. Cada ncleo en
un procesador multincleo potencialmente puede ser superescalar, es decir, en
cada ciclo, cada ncleo puede ejecutar mltiples instrucciones de un flujo de
instrucciones.
El ''Multithreading'' simultneo de la cual Intel HyperThreading es el ms
conocido era una forma de pseudo-multincleo. Un procesador con capacidad
de multithreading simultneo tiene una sola unidad de ejecucin (ncleo), pero
cuando esa unidad de ejecucin est desocupada por ejemplo, durante un error
de cach, se utiliza para procesar un segundo hilo. El microprocesador
Cell de IBM, diseado para su uso en la consola Sony PlayStation 3, es otro
prominente procesador multincleo.
Multiprocesamiento simtrico[editar]
Artculo principal: Multiprocesamiento_simtrico
Un multiprocesador simtrico (SMP) es un sistema computacional con mltiples
procesadores idnticos que comparten memoria y se conectan a travs de un
bus.24 La contencin del bus previene el escalado de esta arquitectura. Como
resultado, los SMPs generalmente no comprenden ms de 32
procesadores.25 Debido al pequeo tamao de los procesadores y de la
significativa reduccin en los requisitos de ancho de banda de bus, tales
multiprocesadores simtricos son extremadamente rentables, siempre que exista
una cantidad suficiente de ancho de banda.24
Computacin en clster[editar]
Artculo principal: Cluster (informtica)

Un clster Beowulf.

Un clster es un grupo de ordenadores dbilmente acoplados que trabajan en


estrecha colaboracin, de modo que en algunos aspectos pueden considerarse
como un solo equipo.26 Los clsteres se componen de varias mquinas
independientes conectadas por una red. Mientras que las mquinas de un clster
tienen que ser simtricas, de no serlo, el balance de carga es ms difcil de lograr.
El tipo ms comn de clster es el cluster Beowulf, que es un clster
implementado con mltiples ordenadores comerciales idnticos conectados a
una red de rea local TCP/IPEthernet.27 La tecnologa Beowulf fue desarrollada
originalmente por Thomas Sterling y Donald Becker. La gran mayora de los
superordenadores TOP500 son clsteres.n. 4 28
Procesamiento paralelo masivo[editar]
Un procesador paralelo masivo (MPP) es un solo equipo con varios procesadores
conectados en red. Tienen muchas de las caractersticas de los clster, pero
cuentan con redes especializadas de interconexin en tanto que las clsteres
utilizan hardware estndar para la creacin de redes. Los MPPs tambin tienden
a ser ms grandes que los clsteres, con mucho ms de 100
procesadores.29 En un MPP, cada CPU tiene su propia memoria y una copia
del sistema operativo y la aplicacin. Cada subsistema se comunica con los
dems a travs de un interconexin de alta velocidad.30
Un gabinete de Blue Gene/L, clasificado como el cuarto mejor superordenador del
mundo de acuerdo a la clasificacin TOP500 en 11/2008. Blue Gene/L es un
procesador masivamente paralelo.

Computacin distribuida[editar]
Artculo principal: Computacin distribuida

La computacin distribuida es la forma ms distribuida de la computacin paralela.


Se hace uso de ordenadores que se comunican a travs de la Internet para
trabajar en un problema dado. Debido al bajo ancho de banda y la latencia
extremadamente alta de Internet, la computacin distribuida normalmente slo se
refiere a problemas vergonzosamente paralelos. Se han creado
muchas aplicaciones de computacin
distribuida, SETI@home y Folding@home son los ejemplos ms conocidos.31
La mayora de las aplicaciones de computacin distribuida utilizan middleware,
software que se encuentra entre el sistema operativo y la aplicacin para
administrar los recursos de red y estandarizar la interfaz de software. El ms
comn es la Infraestructura Abierta de Berkeley para Computacin en
Red (BOINC). A menudo, los programas de computacin distribuida hacen uso de
ciclos de repuesto, realizando clculos cuando el procesador de un equipo est
desocupado.
Computadoras paralelas especializadas[editar]
Dentro de la computacin paralela, existen dispositivos paralelos especializados
que generan inters. Aunque no son especficos para un dominio, tienden a ser
aplicables slo a unas pocas clases de problemas paralelos.
Cmputo reconfigurable con arreglos de compuertas programables[editar]
El cmputo reconfigurable es el uso de un arreglo de compuertas
programables (FPGA) como coprocesador de un ordenador de propsito general.
Un FPGA es, en esencia, un chip de computadora que puede reconfigurarse para
una tarea determinada.
Los FPGAs se pueden programar con lenguajes de descripcin de
hardware como VHDL o Verilog. Sin embargo, los lenguajes de programacin
pueden ser tediosos. Varios vendedores han creado lenguajes C a HDL que
tratan de emular la sintaxis y/o semntica del lenguaje de programacin C, con el
que la mayora de los programadores estn familiarizados. Los lenguajes C a
HDL ms conocidos son Mitrion-C, C Impulse, DIME C y C-Handel. Tambin se
pueden utilizar para este propsito subconjuntos especficos de SystemC basados
en C++.
La decisin de AMD de abrir HyperTransport a otros fabricantes la ha convertido
en la tecnologa que permite la computacin reconfigurable de alto
rendimiento.32 De acuerdo con Michael D'Amour R., Director de Operaciones de la
DRC Computer Corporation, cuando entramos en AMD, nos llamaban ladrones
de zcalos. Ahora nos llaman socios.32
Cmputo de propsito general en unidades de procesamiento grfico
(GPGPU)[editar]
Artculo principal: GPGPU

Tarjeta Nvidia Tesla GPGPU

El cmputo de propsito general en las unidades de procesamiento de


grficos (GPGPU) es una tendencia relativamente reciente en la investigacin
de ingeniera informtica. Los GPUs son co-procesadores que han sido
fuertemente optimizados para procesamiento de grficos por computadora.33 El
procesamiento de grficos por computadora es un campo dominado por
operaciones sobre datos en paralelo, en particular de lgebra lineal y operaciones
con matrices.
Al principio, los programas de GPGPU normalmente utilizaban el API de grficos
para ejecutar programas. Sin embargo, varios nuevos lenguajes de programacin
y plataformas se han construido para realizar cmputo de propsito general sobre
GPUs, tanto Nvidia como AMD han liberado de entornos de programacin
con CUDA y Stream SDK, respectivamente. Otros lenguajes de programacin de
GPU incluyen: BrookGPU, PeakStream y RapidMind. Nvidia tambin ha lanzado
productos especficos para la computacin en su serie Tesla. El consorcio de
tecnologa Khronos Group ha lanzado OpenCL, que es un marco para la escritura
de programas que se ejecutan en distintas plataformas conformadas por CPUs y
GPUs. AMD, Apple, Intel, Nvidia y otros estn apoyando OpenCL.
Circuitos integrados de aplicacin especfica[editar]
Artculo principal: Circuito integrado de aplicacin especfica

Se han diseado varios circuitos integrados de aplicacin especfica (ASIC) para


hacer frente a las aplicaciones paralelas.34 35 36
Debido a que un ASIC (por definicin) es especfico para una aplicacin dada,
puede ser completamente optimizado para esa aplicacin. Como resultado, para
una aplicacin dada, un ASIC tiende a superar a un ordenador de propsito
general. Sin embargo, los ASICs son creados con litografa de rayos X. Este
proceso requiere una mscara, que puede ser extremadamente cara. Una
mscara puede costar ms de un milln de dlares.n. 5 37 Mientras ms pequeo
sean los transistores necesarios para el chip, ms cara ser la mscara. Mientras
tanto, el incremento del rendimiento en computadoras de propsito general
como se describe en la Ley de Moore tiende a eliminar esta diferencia en slo
una o dos generaciones de chips.32 El alto costo inicial, y la tendencia a ser
superados por la ley de Moore, ha hecho inviable el uso de ASICs para la mayora
de las aplicaciones paralelas. Sin embargo, algunos han sido construidos, un
ejemplo es el peta-flop RIKEN MDGRAPE-3 de la mquina que utiliza ASICs para
la simulacin de dinmica molecular.
Procesadores vectoriales[editar]
Artculo principal: Procesador vectorial

Cray-1 es el procesador vectorial ms famoso.

Un procesador vectorial es un CPU o un sistema computacional que puede


ejecutar la misma instruccin en grandes conjuntos de datos. Los procesadores
vectoriales tienen operaciones de alto nivel que trabajan sobre arreglos lineales de
nmeros o vectores. Un ejemplo de operacin con vectores es: A = B C,
donde A, B, y C son vectores de 64 elementos, donde cada uno es un nmero
de punto flotante de 64 bits.38 Estn estrechamente relacionadas con la
clasificacin SIMD de Flynn.38
Las computadoras Cray se volvieron famosas por su procesamiento de vectores
en los aos 1970 y 1980. Sin embargo, los procesadores vectoriales, tanto CPUs
como sistemas computacionales, han desaparecido. Los conjuntos de
instrucciones de los procesadores modernos incluyen algunas instrucciones de
procesamiento de vectores, por ejemplo: AltiVec y Streaming SIMD
Extensions (SSE).

Software[editar]
Lenguajes de programacin en paralelo[editar]
Los lenguajes de programacin concurrentes, bibliotecas, APIs y modelos de
programacin paralela han sido creados para la programacin de computadores
paralelos. Estos generalmente se pueden dividir en clases basadas en las
suposiciones que se hacen sobre la arquitectura de memoria subyacente:
compartida, distribuida, o compartida-distribuida. Los lenguajes de programacin
de memoria compartida se comunican mediante la manipulacin de variables en la
memoria compartida. En la arquitectura con memoria distribuida se utiliza el paso
de mensajes. POSIX Threads y OpenMP son dos de las API ms utilizadas con la
memoria compartida, mientras que Message Passing Interface (MPI) Interfaz de
Paso de Mensajes es el API ms utilizado en los sistemas de paso de
mensajes.n. 6 39 El concepto valor futuro es muy utilizado en la programacin de
programas paralelos, donde una parte de un programa promete proporcionar un
dato requerido a otra parte del programa en un tiempo futuro.
Las empresas CAPS entreprise y Pathscale estn intentando convertir las
directivas de HMPP (Hybrid Multicore Parallel Programming) en un estndar
abierto denominado OpenHMPP. El modelo de programacin OpenHMPP basado
en directivas ofrece una sintaxis para descargar de manera eficiente los clculos
sobre aceleradores de hardware y optimizar el movimiento de datos hacia y desde
la memoria del hardware. Las directivas OpenHMPP describen llamadas a
procedimientos remotos (RPC) en un dispositivo acelerador por ejemplo el
GPU o de forma ms general un conjunto de ncleos. Las directivas permiten
anotar cdigo C o Fortran para describir dos grupos de funcionalidades: la
descarga de los procedimientos en un dispositivo remoto y la optimizacin de las
transferencias de datos entre la memoria principal de la CPU y la memoria del
acelerador.
Paralelizacin automtica[editar]
Artculo principal: Paralelizacin automtica

La paralelizacin automtica de un programa secuencial por un compilador es


el santo grial de la computacin paralela. A pesar de dcadas de trabajo por parte
de los investigadores, la paralelizacin automtica ha tenido un xito limitado.n. 7 40
Los principales lenguajes de programacin en paralelo permanecen explcitamente
paralelos o en el mejor de los casos parcialmente implcitos, en los que un
programador le da al compilador directivas de paralelizacin. Existen pocos
lenguajes de programacin paralelos totalmente implcitos: SISAL,
Parallel Haskell, y (para FPGAs) Mitrion C.
Punto de control[editar]
Mientras un sistema computacional crece en complejidad, el tiempo medio entre
fallos por lo general disminuye. Un punto de control de aplicacin es una tcnica
mediante la cual el sistema informtico toma una instantnea de la aplicacin,
un registro de todas las asignaciones actuales de recursos y estados variables,
semejante a un volcado de memoria, esta informacin se puede utilizar para
restaurar el programa si el equipo falla. Disponer de un punto de control significa
que el programa puede reiniciar desde este y no desde el principio. Mientras que
los puntos de control proporcionan beneficios en una variedad de situaciones, son
especialmente tiles en los sistemas altamente paralelos con un gran nmero de
procesadores que son utilizados en la computacin de altas prestaciones.41

Mtodos algortmicos[editar]
Mientras que las computadoras paralelas se hacen ms grandes y ms rpidas, se
hace factible resolver problemas que antes tardaban demasiado tiempo en
ejecutarse. La computacin en paralelo se utiliza en una amplia gama de campos,
desde la bioinformtica (plegamiento de protenas y anlisis de secuencia) hasta
la economa (matemtica financiera). Los tipos de problemas encontrados
comnmente en las aplicaciones de computacin en paralelo son:42

lgebra lineal densa


lgebra lineal dispersa
Mtodos espectrales (tales como la transformada rpida de Fourier de Cooley-
Tukey)
Problemas de n-cuerpos (tales como la simulacin Barnes-Hut)
Problemas de grids estructurados (mtodos de Lattice Boltzmann)
Problemas de grids no estructurados (tales como los encontrados en
el anlisis de elementos finitos)
Simulacin de Montecarlo
Lgica combinacional (por ejemplo, tcnicas criptogrficas de fuerza bruta)
Recorridos en grafos (por ejemplo, los algoritmos de ordenamiento)
Programacin dinmica
Mtodos de Ramificacin y poda
Modelos en grafos (tales como la deteccin de modelos ocultos de Markov y la
construccin de redes bayesianas)
Simulacin de autmatas finitos

Historia[editar]
Artculo principal: Historia de la computacin
ILLIAC IV, quizs el ms infame de los superordenadores43

Los orgenes del verdadero paralelismo (MIMD) se remontan a Federico Luigi,


Menabrea Conte y su Bosquejo de la mquina analtica inventada por Charles
Babbage.44 45 IBM introdujo el IBM 704 en 1954, a travs de un proyecto en el
que Gene Amdahl fue uno de los principales arquitectos. Se convirti en el primer
equipo disponible en el mercado que utilizaba comandos aritmticos de punto
flotante totalmente automticos.46
En abril de 1958, S. Gill (Ferranti) analiz la programacin en paralelo y la
necesidad de la ramificacin y la espera.47 Tambin en 1958, los investigadores de
IBM John Cocke y Daniel Slotnick discutieron por primera vez el uso del
paralelismo en clculos numricos.48Burroughs Corporation present la D825 en
1962, un equipo de cuatro procesadores que accede a un mximo de 16 mdulos
de memoria a travs de un conmutador de barras cruzadas.49 En 1967, Amdahl y
Slotnick publicaron un debate sobre la viabilidad de procesamiento en paralelo en
la Conferencia de la Federacin Americana de Sociedades de Procesamiento de
la Informacin.48 Fue durante este debate que la Ley de Amdahl fue acuada para
definir los lmites de aceleracin que se pueden alcanzar debido al paralelismo.
En 1969, la compaa estadounidense Honeywell introdujo su primer sistema
Multics, un sistema con multiprocesador simtrico capaz de ejecutar hasta ocho
procesadores en paralelo.48 En 1970, C.mmp, un proyecto en la Universidad
Carnegie Mellon con varios procesadores, fue uno de los primeros
multiprocesadores con ms de unos pocos procesadores.45 El primer bus con
conexin multi-procesador y cach espa fue el Synapse N+1 en el ao 1984.45
Las computadoras paralelas SIMD se remontan a la dcada de 1970. La
motivacin detrs de las primeras computadoras SIMD era amortizar el retardo de
la compuerta de la unidad de control del procesador en mltiples
instrucciones.50 En 1964, Slotnick haba propuesto la construccin de un
ordenador masivamente paralelo para el Laboratorio Nacional Lawrence
Livermore.48 Su diseo fue financiado por la Fuerza Area de los Estados Unidos,
que fue el primer esfuerzo por lograr la computacin en paralelo SIMD.48 La clave
de su diseo fue un paralelismo bastante alto, con hasta 256 procesadores, lo que
permiti que la mquina trabajara en grandes conjuntos de datos en lo que ms
tarde sera conocido como el procesamiento de vectores. Sin embargo, ILLIAC
IV fue llamado el ms infame de los superordenadores, pues solo se haba
completado una cuarta parte del proyecto. Tard 11 aos, costando casi cuatro
veces la estimacin original.n. 8 43 Cuando estaba listo para ejecutar una aplicacin
real por primera vez en 1976, fue superado por supercomputadoras comerciales,
como el Cray-1.
Computacin distribuida

La computacin distribuida o informtica en malla 9. Interaccin entre los equipos.


(grid) es un modelo para resolver problemas de compu-
tacin masiva utilizando un gran nmero de ordenadores
organizados en clsteres incrustados en una infraestruc- 10. Diseo de software compatible con varios usuarios
tura de telecomunicaciones distribuida. y sistemas operativos.

1 Sistemas distribuidos
3 Objetivo
Un sistema distribuido se dene como una coleccin de
computadoras separadas fsicamente y conectadas entre La computacin distribuida ha sido diseada para re-
s por una red de comunicaciones; cada mquina posee solver problemas demasiado grandes para cualquier
sus componentes de hardware y software que el progra- supercomputadora y mainframe, mientras se mantiene la
mador percibe como un solo sistema (no necesita saber exibilidad de trabajar en mltiples problemas ms pe-
qu cosas estn en qu mquinas). El programador acce- queos. Por lo tanto, la computacin en malla (grid) es
de a los componentes de software (objetos) remotos, de la naturalmente un entorno multiusuario; por ello, las tc-
misma manera en que accedera a componentes locales, nicas de autorizacin segura son esenciales antes de per-
en un grupo de computadoras que usan un middleware mitir que los recursos informticos sean controlados por
entre los que destacan (RPC) y SOAP para conseguir un usuarios remotos.
objetivo.
Los sistemas distribuidos deben ser muy conables, ya
que si un componente del sistema se descompone otro
componente debe ser capaz de reemplazarlo. Esto se de- 4 Clasicacin
nomina tolerancia a fallos.
El tamao de un sistema distribuido puede ser muy varia-
En trminos de funcionalidad, las mallas se clasican
do, ya sean decenas de hosts (red de rea local), centenas
en computacionales (incluyendo mallas de barrido de la
de hosts (red de rea metropolitana), o miles, o millones
CPU) y en mallas de datos. Y en los estados son:
de hosts (Internet); esto se denomina escalabilidad. [1]

2 Caractersticas 4.1 XML


1. Para cada uno de los usuarios debe ser similar al tra-
Los servicios web basados en XML ofrecen una forma de
bajo en el Sistema Centralizado. acceder a diversos servicios/aplicaciones en un entorno
2. Seguridad interna en el sistema distribuido. distribuido. Recientemente, el mundo de la informtica
en malla y los servicios web caminan juntos para ofre-
3. Se ejecuta en mltiples computadoras. cer la malla como un servicio web. La arquitectura est
denida por la Open Grid Services Architecture (OGSA).
4. Tiene varias copias del mismo sistema operativo o La versin 3.0 de Globus Toolkit, que actualmente se en-
de diferentes sistemas operativos que proveen los cuentra en fase alfa, ser una implementacin de referen-
mismos servicios. cia acorde con el estndar OGSA.
5. Entorno de trabajo cmodo. Las mallas ofrecen una forma de resolver grandes retos,
como el plegamiento de las protenas y descubrimien-
6. Dependiente de redes (LAN, MAN, WAN, etc.). to de medicamentos, modelizacin nanciera, simulacin
7. Compatibilidad entre los dispositivos conectados. de terremotos, inundaciones y otras catstrofes naturales,
modelizacin del clima/tiempo, etc. Ofrecen un camino
8. Transparencia (el uso de mltiples procesadores y el para utilizar los recursos de las tecnologas de la informa-
acceso remoto debe ser invisible).[2] cin de forma ptima en una organizacin.

1
2 9 REFERENCIAS

5 Computacin de ciclos redun- 8 Diferencias entre los distintos ti-


dantes pos de computacin distribuida
El modelo de computacin de ciclos redundantes, tam- SSI (Single System Image): en un SSI todas las compu-
bin conocido como computacin zombi, es el empleado tadoras vinculadas dependen de un sistema operati-
por aplicaciones como Seti@Home, consistente en que vo comn, diseado al efecto. En cambio, un grid es
un servidor o grupo de servidores distribuyen trabajo de heterogneo, en el sentido en que las computadoras pue-
procesamiento a un grupo de computadoras voluntarias den tener diferentes sistemas operativos.
a ceder capacidad de procesamiento no utilizada. Bsi- Algunos ejemplos de estos sistemas operativos son:
camente, cuando dejamos nuestro ordenador encendido,
pero sin utilizarlo, la capacidad de procesamiento se des- Amoeba (inactivo)
perdicia por lo general en algn protector de pantalla, este
tipo de procesamiento distribuido utiliza nuestra compu- BProc
tadora cuando nosotros no la necesitamos, aprovechando
DragonFly BSD (meta a largo plazo)
al mximo la capacidad de procesamiento.
Genesis
Kerrighed
6 Clustering
Mosix/OpenMosix
Otro mtodo para crear sistemas de supercomputadoras Nomad (inactivo)
es el clustering. Un cluster o racimo de computadoras con-
siste en un grupo de computadoras de relativo bajo cos- OpenSSI
to conectadas entre s mediante un sistema de red de al- Plurix
ta velocidad (gigabit de bra ptica por lo general) y un
software que realiza la distribucin de la carga de traba- Sprite (inactivo)
jo entre los equipos. Por lo general, este tipo de sistemas
TruCluster
cuentan con un centro de almacenamiento de datos nico.
Los clusters tienen la ventaja de ser sistemas redundan-
Cluster de computadores: En un clster todos los nodos
tes, al estar fuera de servicio el procesador principal el
se encuentran en el mismo lugar, conectados por una red
segundo se dispara y acta como un Fail Over.
local para as englobar todos los recursos. En cambio, en
un grid no tienen por qu estar en el mismo espacio geo-
grco; pueden estar en diferentes puntos del mundo.
7 Grid Tambin suele llamarse GRID al resultado obtenido de
englobar las mquinas en una supercomputadora; con un
La computacin en grid o en malla es un nuevo paradigma clster solo se busca mejorar el rendimiento de las m-
de computacin distribuida en el cual todos los recursos quinas englobndolas en una sola.
de un nmero indeterminado de computadoras son englo-
bados para ser tratados como un nico superordenador de
manera transparente. 9 Referencias
Estas computadoras englobadas no estn conectadas o en-
lazadas rmemente, es decir no tienen por qu estar en el [1] Sistemas distribuidos. Archivado desde el original el 26
mismo lugar geogrco. Se puede tomar como ejemplo el de noviembre de 2015. Consultado el 2009.
proyecto SETI@Home, en el cual trabajan computadoras
[2] Sistemas Distribuidos. Archivado desde el original el 26
alrededor de todo el planeta para buscar vida extraterres- de noviembre de 2015. Consultado el 2009.
tre.
Ian Foster, Carl Kesselman (1999). La Grilla 2:
Planos para una Nueva Infraestructura Informti-
7.1 Seguridad ca (The Grid 2: Blueprint for a New Computing In-
frastructure). Morgan Kaufmann Publishers. ISBN.
El punto de la seguridad es delicado en este tipo de
Website.
computacin distribuida pues las conexiones se hacen de
forma remota y no local, entonces suelen surgir proble- Fran Berman, Anthony J.G. Hey, Georey Fox
mas para controlar el acceso a los otros nodos. Esto puede (2003). La malla informtica: haciendo realidad
aprovecharse para un ataque de DoS, aunque la red no va la Infraestructura Global (Grid Computing: Making
a dejar de funcionar porque uno falle. Esa es una ventaja The Global Infrastructure a Reality). Wiley. ISBN.
de este sistema grid. Online version.
3

10 Vase tambin
BOINC / Data Distribution Service
Anexo:Proyectos que usan BOINC

Supercomputadora
Programacin distribuida

Sistema de archivos distribuido


Llamada a procedimiento remoto

DCE
Andrew S. Tanenbaum

Computacin grid
Sun Grid Engine

World Community Grid


4 11 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

11 Origen del texto y las imgenes, colaboradores y licencias


11.1 Texto
Computacin distribuida Fuente: https://es.wikipedia.org/wiki/Computaci%C3%B3n_distribuida?oldid=98009063 Colaboradores:
4lex, Sabbut, Moriel, JorgeGG, Pieter, Julie, Vanbasten 23, Vivero, Sms, Cinabrium, Ecemaml, ManuP, Benjavalero, Ghoute, Renabot,
Caos, Taragui, Rembiapo pohyiete (bot), Ghostbar, RobotQuistnix, Gcsantiago, Superzerocool, Saija, Yrbot, FlaBot, Vitamine, Yurik-
Bot, Wiki-Bot, GermanX, KnightRider, The Photographer, Eskimbot, Peter17, Tamorlan, BOTpolicia, Hawking, Chguer, CEM-bot,
Satanclos, Thijs!bot, Limbowiki, Isha, Bernard, JAnDbot, Jugones55, Shalnark-kun, Cronos x, Marvelshine, Oaky2100, Mcanto, Plux,
Dhidalgo, Shalafy, VolkovBot, Jose gueredo, Mariostorti, Matdrodes, FJJW, Shooke, Lucien leGrey, Ingteleco, Muro Bot, Arcoe, Carmin,
Sageo, NioZero, Furado, DorganBot, Fonsi80, Farisori, Eduardosalg, BetoCG, Juliov2480, Alexbot, Darkicebot, Jrachyr, Aipni-Lovrij,
AVBOT, LucienBOT, EjsBot, Diegusjaimes, DumZiBoT, Raysonho, Arjuno3, Saloca, Luckas-bot, Nallimbot, Lu Tup, Fchocan, Alberto
Ibarra garcia, Girado, ArthurBot, Xqbot, Jkbw, D'ohBot, RedBot, PatruBOT, Dinamik-bot, LilyKitty, TjBot, KSEltar, EmausBot, Zchu-
mager, AVIADOR, J. A. Glvez, Tendencias21, Albertojuanse, DRAKCMEZA, Waka Waka, Gins90, Elvisor, Helmy oved, 2rombos,
Richard Lyon, Addbot, Jarould, Bruno Rene Vargas, BenjaBot, CAPTAIN RAJU, Ks-M9, HenryTek y Annimos: 118

11.2 Imgenes

11.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Sistema de tiempo real

Un sistema de tiempo real es un sistema informtico La cantidad de tiempo que se lleva el iniciar la eje-
que interacciona con su entorno fsico y responde a los cucin de una interrupcin
estmulos del entorno dentro de un plazo de tiempo de-
terminado. No basta con que las acciones del sistema sean La cantidad de tiempo que se necesita para realizar
correctas, sino que, adems, tienen que ejecutarse dentro la tarea que pidi la interrupcin.
de un intervalo de tiempo determinado.[1] Los efectos de interrupciones anidadas.
Existen sistemas de tiempo real crtico (tiempo real duro),
en los que los plazos de respuesta deben respetarse siem- Una vez que el resultado del clculo de determinismo y
pre estrictamente y una sola respuesta tarda a un suce- responsividad es obtenido, se convierte en una caracters-
so externo puede tener consecuencias fatales; y sistemas tica del sistema y un requerimiento para las aplicaciones
de tiempo real acrtico (tiempo real suave), en los que se que corrern en l,(por ejemplo, si diseamos una aplica-
pueden tolerar retrasos ocasionales en la respuesta a un cin en un sistema en el cual el 95 % de las tareas deben
suceso.[1] terminar en cierto perodo entonces es recomendable ase-
gurarse que las tareas ejecutadas de nuestra aplicacin no
Un ejemplo que ilustra los puntos anteriores es el de un
caigan en el 5 % de bajo desempeo).
robot que necesita tomar una pieza de una banda sinfn.
Si el robot llega tarde, la pieza ya no estar donde deba
recogerla, por tanto, el trabajo se llev a cabo incorrec- 1.1.2 Usuarios controladores
tamente, aunque el robot haya llegado al lugar adecuado.
Si el robot llega antes de que la pieza llegue, la pieza an En estos sistemas, el usuario (por ejemplo, los procesos
no estar ah y el robot puede bloquear su paso. que corren en el sistema) tienen un control mucho ms
amplio del sistema.

El proceso es capaz de especicar su prioridad


1 Caractersticas de los sistemas de
tiempo real El proceso es capaz de especicar el manejo de me-
moria que requiere (que parte estar en cach y que
parte en memoria swap y que algoritmos de memo-
1.1 Determinismo ria swap usar)
El proceso especica qu derechos tiene sobre el sis-
El determinismo es una cualidad clave en los sistemas de
tema.
tiempo real. Es la capacidad de determinar con una alta
probabilidad, cuanto es el tiempo que se toma una tarea
en iniciarse. Esto es importante porque los sistemas de Esto aunque parece anrquico no lo es, debido a que los
tiempo real necesitan que ciertas tareas se ejecuten antes sistemas de tiempo real usan tipos de procesos que ya
de que otras puedan iniciar. incluyen estas caractersticas, y usualmente estos TIPOS
de procesos son mencionados como requerimientos. Un
Esta caracterstica se reere al tiempo que tarda el sis- ejemplo es el siguiente:
tema antes de responder a una interrupcin. Este dato es
importante saberlo porque casi todas las peticiones de in- Los procesos de mantenimiento no debern exceder el
terrupcin se generan por eventos externos al sistema (i.e. 3 % de la capacidad del procesador, a menos que en el
por una peticin de servicio), as que es importante de- momento que sean ejecutados el sistema se encuentre en
terminar el tiempo que tardara el sistema en aceptar esta la ventana de tiempo de menor uso.
peticin de servicio.
1.1.3 Conabilidad

1.1.1 Responsividad La conabilidad en un sistema de tiempo real es otra ca-


racterstica clave. El sistema no debe solamente estar li-
La responsividad se enfoca en el tiempo que tarda una bre de fallas pero ms an, la calidad del servicio que
tarea en ejecutarse una vez que la interrupcin ha sido presta no debe degradarse ms all de un lmite determi-
atendida. Los aspectos a los que se enfoca son: nado.

1
2 7 ENLACES EXTERNOS

El sistema debe de seguir en funcionamiento a pesar de mente cuando hay un acceso compartido y se necesitan
catstrofes, o fallas mecnicas. Usualmente una degrada- mantener actualizados un nmero de sistemas conecta-
cin en el servicio en un sistema de tiempo real lleva con- dos con una situacin cambiante. Un ejemplo seran los
secuencias catastrcas. programas que mantienen y actualizan los planes de vue-
lo de las compaas areas comerciales. Estos programas
pueden funcionar en cuestin de segundos.
1.1.4 Operacin a prueba de fallas duras (fail hard
No sera posible ofrecer vuelos comerciales modernos si
operation)
estas operaciones no se pudieran realizar de manera able
en tiempo real. Los sistemas de audio y video en directo
El sistema debe de fallar de manera que cuando ocurra
tambin son sistemas en tiempo real pasivos tpicos ya
una falla, el sistema preserve la mayor parte de los datos
que si se sobrepasan los lmites de tiempo lo nico que
y capacidades del sistema en la mayor medida posible.
puede pasar es que se empeore la calidad pero el sistema
Que el sistema sea estable, es decir, que si para el sistema continua trabajando.
es imposible cumplir con todas las tareas sin exceder sus
Las necesidades de los programas de tiempo real se pue-
restricciones de tiempo, entonces el sistema cumplir con
den solucionar con sistemas operativos en tiempo real,
las tareas ms crticas y de ms alta prioridad.
que ofrecen un marco sobre el que construir aplicaciones
de programas en tiempo real.

2 Anlisis y diseo de sistemas en


tiempo real 4 Sistemas operativos de tiempo
real
Las caractersticas especiales de los sistemas en tiempo
real diferentes a los dems tipos de sistemas introdu- Un sistema operativo de tiempo real (SOTR o RTOS
cen en la denicin del sistema una serie requerimien- -Real Time Operating System en ingls) es un sistema
tos no funcionales, que no se reeren directamente a operativo que ha sido desarrollado para aplicaciones de
las funciones especcas si no a propiedades emergen- tiempo real. Como tal, se le exige correccin en sus res-
tes como por ejemplo, requisitos de abilidad, eciencia puestas bajo ciertas restricciones de tiempo. Si no las res-
o implementacin.[2] El diseo por anlisis estructurado peta, se dir que el sistema ha fallado. Para garantizar el
que emplea la descripcin grca se enfoca en el desa- comportamiento correcto en el tiempo requerido se ne-
rrollo de especicaciones del programa que est formado cesita que el sistema sea predecible (determinista).
por mdulos independientes desde el punto de vista fun-
cional.
5 Vase tambin
3 Computacin en tiempo real Sistema operativo en tiempo real

La computacin en tiempo real (o informtica en tiem- Data Distribution Service


po real) est relacionada con los sistemas de hardware y
software que se ven limitados por problemas de tiempo.
El software de tiempo real debe necesariamente tener la 6 Referencias
caracterstica de un tiempo de respuesta crtico.
[1] Villarroel Salcedo, Jos Luis. Sistemas de Tiempo Real.
Por ejemplo, el software encargado de controlar un respi-
Archivado desde el original el 24 de noviembre de 2015.
rador articial debe ser de tiempo real, ya que un retraso
en su tiempo de respuesta no es aceptable. Algunos tipos [2] Sommerville, Ian (2005). 6.1.2 Requerimientos no fun-
de programas como los empleados para jugar al ajedrez cionales. Ingeniera del software, Sptima edicin. Pear-
solo disponen del tiempo necesario para poder efectuar son Educacin. p. 111 |pgina= y |pginas= redundantes
la siguiente jugada. (ayuda). ISBN 84-7829-074-5.

Se podra hacer una distincin, por ejemplo, un sistema


de gestin del motor de un coche es un sistema en tiem-
po real activo porque una seal retrasada puede causar un
7 Enlaces externos
dao o fallo en el motor. Otros ejemplos de sistemas in-
tegrados en tiempo real activos son los sistemas mdicos Comp.realtime: Frequently Asked Questions
como los marcadores de pasos articiales y los controla- (FAQs) (versin 3.6)
dores de procesos industriales.
Bina Ramamurthy
Los sistemas de tiempo real pasivos se utilizan normal-
3

8 Origen del texto y las imgenes, colaboradores y licencias


8.1 Texto
Sistema de tiempo real Fuente: https://es.wikipedia.org/wiki/Sistema_de_tiempo_real?oldid=98117899 Colaboradores: Suisui, Moriel,
Vanbasten 23, Adal, Orgullomoore, Airunp, JMPerez, Rembiapo pohyiete (bot), Marco Regueira, KnightRider, BludgerPan, Folkvanger,
Paintman, Wikito, Tamorlan, CEM-bot, Baiji, Osiris fancy, Chien, Jugones55, Plux, Aralvare, Technopat, Elabra sanchez, Shooke, Muro
Bot, Drinibot, Pascow, Pedro Felipe, Farisori, Leonpolanco, LordT, Hmv~eswiki, Camilo, Lampsako, SuperBraulio13, Gsobrevilla, Avi-
centegil, Jkbw, PatruBOT, Grillitus, MerlIwBot, UAwiki, Invadibot, Tximitx, Elvisor, Addbot, Jarould, Roxanabustos66, AlvaroMolina,
Fernando2812l y Annimos: 41

8.2 Imgenes
Archivo:Mergefrom.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/0/0f/Mergefrom.svg Licencia: Public domain Cola-
boradores: ? Artista original: ?
Archivo:Spanish_Language_Wiki.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/2/2a/Spanish_Language_Wiki.svg
Licencia: CC BY-SA 3.0 Colaboradores: Derived from Wiki puzzle.svg by user:Kimbar Artista original: James.mcd.nz

8.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Bfer de datos

En informtica, un bfer (del ingls, buer) es un espa- da). Si tienes un trabajo inestable, mientras tengas ciertos
cio de memoria, en el que se almacenan datos de manera ahorros, puedes mantener tus gastos jos sin problemas,
temporal, normalmente para un nico uso (generalmente e ir ingresando dinero cuando puedas segn vas trabajan-
utilizan un sistema de cola FIFO); su principal uso es pa- do. Si los ahorros son pequeos, enseguida que no tengas
ra evitar que el programa o recurso que los requiere, ya trabajo, no vas a poder acometer los gastos jos. De la
sea hardware o software, se quede sin datos durante una misma forma si escuchas msica en Internet y tu progra-
transferencia (entrada/salida) de datos irregular o por la ma de audio usa un bfer pequeo, en cuanto haya alguna
velocidad del proceso. interrupcin en la descarga (porque las descargas nunca
Normalmente los datos se almacenan en un bfer mien- tienen una velocidad constante), notars cortes de sonido,
tras son transferidos desde un dispositivo de entrada (co- ya que faltar informacin.
mo un ratn o mouse) o justo antes de enviarlos a un
dispositivo de salida (por ejemplo: altavoces). Tambin
puede utilizarse para transferir datos entre procesos, de 1.1 Requerimientos mnimos
una forma parecida a los bferes utilizados en telecomu-
nicaciones. Un ejemplo de esto ltimo ocurre en una co- Para que un bfer, de tipo software o hardware, pueda
municacin telefnica, en la que al realizar una llamada funcionar correctamente es indispensable que este posea
esta se almacena, se disminuye su calidad y el nmero como mnimo las siguientes caractersticas:
de bytes a ser transferidos, y luego se envan estos datos
modicados al receptor.
Espacio: es la memoria en donde se guarda la infor-
macin almacenada en el bfer, sin ella no existe en
1 Implementacin donde guardar la informacin

Los bferes pueden ser implementados por software o Direccin: indica en donde est el espacio
hardware, esto depende del origen del bfer, aunque la
gran mayora son del tipo software debido a la exibili- Dimensin: indica el tamao del espacio
dad para su creacin.
Normalmente se usan cuando la frecuencia de transferen- ndice o particiones: indica cmo se utilizara la in-
cia de datos es distinta a la de procesado, dependiendo de formacin almacenada en el bfer
las limitaciones del sistema, o tambin cuando la frecuen-
cia es variable, como en la recepcin de vdeo en-lnea
(streaming). Estas diferencias temporales de transmisin
son normalmente ajustadas mediante la implementacin 2 Aplicaciones
de un algoritmo tipo cola (o estructura de tipo FIFO) en
memoria, para as escribir datos en la cola a una frecuen-
cia y leerlos a otra. Esto ocurre en el envo de datos de un Los bferes se utilizan, a menudo, conjuntamente con
procesador a una impresora para que los imprima. La ve- E/S de hardware, tal como unidades de disco, enviar o
locidad de impresin de la fotocopiadora en comparacin recibir datos a/o desde una red, o reproduccin de soni-
a la del procesador es muy lenta, debido a esto la impre- do en un altavoz. Una lnea a una montaa rusa en un
sora tendr que tener una cola FIFO (software), para ir parque de atracciones comparte muchas similitudes. Las
acumulando los trabajos que todava no se han podido personas que viajan en la montaa llegan a un ritmo des-
imprimir. conocido y variable, pero la montaa rusa ser capaz de
cargar personas de golpe (tal como llegan se van montan-
Los bferes se pueden usar en cualquier sistema digital, do). La zona de la cola acta como un bfer: un espacio
no solo en informticos, como en reproductores de msi- temporal donde los que deseen viajar deben esperar a que
ca y video. el viaje est disponible. Los bferes utilizan generalmen-
Se puede ejemplicar la funcin de un bfer utilizando te un mtodo FIFO (primero en entrar, primero en salir),
sta metfora: un bfer es como tener dinero en el ban- es decir, la salida de datos se produce en el orden en que
co (buer), un trabajo (entrada) y unos gastos jos (sali- llegaron.

1
2 6 BFER DE TELECOMUNICACIN

3 Diferencias con la cach unidades de salida. Estos dispositivos son ca-


paces de recibir informacin desde la mquina
Una memoria cach puede ser usada a veces como un b- a frecuencias hasta 100 veces ms altas que las
fer, y viceversa. Sin embargo, una cach opera con el su- frecuencias a las que se puede operar una m-
puesto de que los mismos datos van a ser utilizados mlti- quina de escribir. Por ello, se est logrando una
ples veces, que los datos escritos sern ledos en un perio- mejor eciencia al grabar los datos de salida y
do corto de tiempo, o teniendo en cuenta la posibilidad de se pueden realizar transcripciones posteriores
mltiples lecturas o escrituras para formar un nico blo- desde el dispositivo de grabacin magntico a
que ms grande. Su premisa bsica es reducir los accesos un dispositivo de impresin sin comprometer
a los almacenamientos de nivel ms bajo, los cuales son el ordenador principal.
bastante lentos. La cach tambin es normalmente una
capa de abstraccin que est diseada para ser invisible.
Una cach de disco o archivo de cach guarda las es- 5 Problemas
tadsticas de los datos almacenados en l y proporciona
datos con un tiempo mximo de espera en modos de es- Los problemas ms comunes para los bferes son:
critura en diferido. Un bfer, por el contrario, no hace
nada de esto, sino que es utilizado normalmente en entra- Desbordamiento de bfer (overow), tambin cono-
da, salida y a veces, almacenamiento temporal de datos cido como overrun, el cual se da cuando el tamao
que se enrutan entre distintos dispositivos o que van a ser del bfer es insuciente para almacenar la informa-
modicados de manera no secuencial antes de ser escritos cin que se desea ingresar normalmente ocasiona-
o ledos de manera secuencial. do por un problema de programacin en donde el
Ejemplos: programa a usar el bfer malinterpreta el tamao de
dicho bfer.
Los bferes comando/orden en CONFIG.SYS de
DOS. Subdesbordamiento de bfer (underow), tambin
conocido como underrun, es un problema generado
El bfer entre un puerto serie (UART) y un mdem.
por la falta de informacin en el bfer cuando es re-
La velocidad del puerto COM puede ser de 38400
querida por el otro programa ocasionando general-
bps, mientras que el mdem puede soportar slo
mente por un error de tiempos, velocidad inestable
14400 bps.
de transferencia de datos.
El bfer integrado en un disco duro, una impresora
o cualquier otro dispositivo de hardware. Sobreescritura, tambin conocido como overwrite,
El bfer de una tarjeta de vdeo donde se van alma- es un problema generalmente creado por la mala
cenando cada fotograma. programacin del bfer ya que se escribe informa-
cin en espacios de memoria donde todava no se
utiliza esa informacin ocasionando la prdida de
dicha informacin.
4 Historia
Una de las primeras ocasiones en que se mencion el con-
cepto de bfer de impresin fue en 1952, por Russel A.
6 Bfer de telecomunicacin
Kirsch para el computador SEAC:[1]
La rutina del bfer, o bien, el almacenamiento medio usa-
Uno de los problemas ms serios en el di- do en telecomunicaciones, compensa una diferencia en el
seo de computadores automticos digitales es ujo de datos, o el tiempo de la ocurrencia, al transferir
la obtencin de los resultados calculados por datos desde un dispositivo a otro.
la mquina lo sucientemente rpido como pa- Los almacenadores intermedios se utilizan para muchos
ra evitar retrasos en el progreso de los clculos propsitos, por ejemplo:
restantes. En muchos de los problemas en que
se aplica un computador de propsito general
Interconectando dos circuitos digitales que funcio-
la cantidad de datos a utilizar es relativamente
nan a diversas velocidades.
extensa tanto que una seria ineciente, podra
provocarse al forzar al computador a esperar Datos de posesin para el uso en un momento pos-
que estos datos sean escritos en los dispositivos terior.
de impresin existentes. Esta dicultad ha sido
resulta en el SEAC mediante el uso de disposi- Permitir que las correcciones que miden el tiempo
tivos magnticos de grabacin utilizados como sean hechas en una secuencia de datos.
3

Recoger los bits de datos binarios en los grupos que 3. Almacenamiento temporal con bloques: aparte de la
pueden funcionar encendido como unidad. bandera, en este caso, el bfer tambin tiene una va-
riable contador, que le permite saber el ndice del
Retraso de la poca de trnsito de una seal para ltimo registro que pudo almacenar en su memoria.
permitir que otras operaciones ocurran. As, cuando se leen bloques grandes de informacin,
el bfer sabe exactamente cul es el siguiente regis-
tro a procesar.
7 Otros ejemplos 4. Doble almacenamiento temporal: este mtodo cons-
ta de dos bferes idnticos al del caso del almace-
El buer de teclado es una memoria intermedia en namiento temporal con bloques, y estos trabajan de
la que se van almacenando los caracteres que un forma coordinada almacenando informacin que el
usuario teclea, los cuales son tratados por el compu- otro no alcanz a almacenar antes de llenarse. La
tador apenas se libere un recurso. idea es que un bfer se llene mientras el otro se va-
ca, con el n de optimizar el proceso.
Las grabadoras de CD o DVD, tienen un bfer para
que no se pare la grabacin. Hoy en da hay sistemas 5. Triple almacenamiento temporal: en este caso, se
para retomar la grabacin pero antes supona que el cuenta con tres bferes coordinados. Al menos uno
disco ptico no quedaba bien grabado y muchas ve- siempre tiene que estar lleno, as el programa puede
ces era inservible. estar procesando informacin sin interrupciones.

En audio o video en streaming por Internet, se tiene


un bfer para que haya menos posibilidades de que 9 Referencias
se corte la reproduccin cuando se reduzca o corte
el ancho de banda. [1] SEAC Maintenance Manual: The Outscriber. National
Bureau of Standards Report 2794. julio de 1953.
Un buer adecuado permite que en el salto entre dos
canciones no haya una pausa molesta. [2] http://smartvideo.ashishmishra.in/

YouTube y otros servicios de video y televisin web,


cuentan con un bfer, que suele ser mejorado por
un bfer inteligente (smart buer),[2] para evitar que
se interrumpa la reproduccin, y que viene con los
navegadores de internet de ordenadores, tabletas y
televisiones inteligentes.

8 Administracin
A continuacin se muestran algunas de las formas en que
se administran los diferentes tipos de bferes, cada m-
todo a utilizar depende de la informacin a tratar o de los
procesos que la van a utilizar.

1. Almacenamiento temporal nico por demanda: este


sistema no consta ms que del bfer y el programa
que lo utiliza. El bfer es simplemente un algoritmo
de cola utilizado por el programa, por lo que es este
ltimo quien le especica cundo lo va a utilizar por
medio de demandas.

2. Almacenamiento temporal por anticipacin: en este


caso, se le aade una bandera (ag) al bfer, que
va a estar cambiando de valor constantemente para
indicar cuando este est lleno o vaco. Esto con el
n de que el bfer se anticipe a las demandas del
programa y pueda llenarse por s mismo cuando se
detecte que ya est vaco.
4 10 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

10 Origen del texto y las imgenes, colaboradores y licencias


10.1 Texto
Bfer de datos Fuente: https://es.wikipedia.org/wiki/B%C3%BAfer_de_datos?oldid=97435885 Colaboradores: Sabbut, Tony Rotondas,
Dodo, Triku, Amads, BOT-Superzerocool, FlaBot, YurikBot, The Photographer, Jesuja, Gtz, Adama~eswiki, CEM-bot, Pinobot, Argaen,
Dbot, Thijs!bot, Cansado, Diosa, JAnDbot, TXiKiBoT, Rei-bot, VolkovBot, Technopat, Galandil, Muro Bot, Cobalttempest, Bigsus-bot,
BOTarate, PipepBot, Marcecoro, Kikobot, Leonpolanco, TheNava00, MastiBot, DumZiBoT, Arjuno3, Luckas-bot, Nallimbot, LyingB,
ArthurBot, Ortisa, Xqbot, Jkbw, Rubinbot, Antonio V. G., Botarel, Born2bgratis, PatruBOT, Gaete actkk 15, Agente11, Grillitus, Wiki-
tanvirBot, Diamondland, Etorralbo90, KiddoHC, Skiker007, KLBot2, Cvc 89, Invadibot, Zerabat, Langtoolbot, Jarould, BenjaBot, Turri-
zaLM, Luixlive, Mekairaw, MarkelCuesta y Annimos: 31

10.2 Imgenes

10.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Spooling

En el campo de la Informtica, el spooling (Simultaneo-


us Peripheral Operations On-Line) se reere al proceso
mediante el cual la computadora introduce trabajos en
un buer (un rea especial en memoria o en un disco), de
manera que un dispositivo pueda acceder a ellos cuando
est listo.
El spooling es til en caso de dispositivos que acceden
a los datos a distintas velocidades. El buer proporcio-
na un lugar de espera donde los datos pueden estar hasta
que el dispositivo (generalmente ms lento) los procesa.
Esto permite que la CPU pueda trabajar en otras tareas
mientras que espera que el dispositivo ms lento acabe de
procesar el trabajo.
La aplicacin ms comn del spooling es la impresin.
En este caso, los documentos son cargados en un buer,
que habitualmente es un rea en un disco, y la impresora
los saca de ste a su propia velocidad. El usuario puede
entonces realizar otras operaciones en el ordenador mien-
tras la impresin tiene lugar en segundo plano. El spooling
permite tambin que los usuarios coloquen varios traba-
jos de impresin en una cola de una vez, en lugar de es-
perar a que cada uno acabe para enviar el siguiente.
El uso de un almacenamiento intermedio permite que va-
rios procesos en paralelo estn generando datos para el
dispositivo, sin que se mezcle el resultado, ni que tengan
que esperar a que nalice la operacin con el perifrico.
En consecuencia se obtiene una comunicacin indirecta
entre los programas que escriben los datos y los que los
leen. Se suele usar este mecanismo cuando un dispositivo
escribe datos a diferente velocidad de la que la lee el dis-
positivo receptor, lo cual permite que un dispositivo ms
lento lo procese a su ritmo.
Tambin se puede referir a un dispositivo de almacena-
miento que incorpora un spool fsico, como una unidad
de cinta.

1 Vase tambin
Common Unix Printing System

1
2 2 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

2 Origen del texto y las imgenes, colaboradores y licencias


2.1 Texto
Spooling Fuente: https://es.wikipedia.org/wiki/Spooling?oldid=95720509 Colaboradores: Vanbasten 23, Petronas, Yrithinnd, Varano, Gai-
jin, Folkvanger, CEM-bot, Thijs!bot, Muro de Aguas, Fixertool, Plux, Synthebot, Muro Bot, Dinopmi, PaintBot, Obelix83, BOTarate,
Espilas, Alexbot, Misigon, Luckas-bot, Xqbot, EmausBot, Grillitus, Elas, KLBot2, NinoBot y Annimos: 15

2.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701

2.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Planicador

El planicador (en ingls scheduler) es un componen- A continuacin, el planicador decide cul ser el si-
te funcional muy importante de los sistemas operativos guiente proceso en ejecutarse. Naturalmente, solamen-
multitarea y multiproceso, y es esencial en los sistemas te se escogen procesos que estn listos para hacerlo. Si
operativos de tiempo real. Su funcin consiste en repartir un proceso sigue esperando por una operacin de entra-
el tiempo disponible de un microprocesador entre todos da/salida no ser candidato a ejecutarse hasta que nalice
los procesos que estn disponibles para su ejecucin. tal operacin.
La seleccin del proceso sigue alguna poltica de plani-
cacin (ver ms adelante) preestablecida. Una vez se-
1 Motivacin leccionado un proceso, se procede a ejecutarlo. Para ello,
el planicador restaura su estado de ejecucin (previa-
Todo sistema operativo gestiona los programas median- mente salvado) y abandona el uso del microprocesador
te el concepto de proceso. En un instante dado, en el cedindoselo a dicho proceso.
ordenador pueden existir diversos procesos listos para ser Nota: se dice que el planicador procede a ejecutarlo a
ejecutados. Sin embargo, solamente uno de ellos puede modo ilustrativo, entrando un poco ms en detalle el pla-
ser ejecutado (en cada microprocesador). De ah la ne- nicador enva su lista de procesos al 'dispatcher' (despa-
cesidad de que una parte del sistema operativo gestione, chador) para que este adecue al proceso y su PCB para
de una manera equitativa, qu proceso debe ejecutarse en la inmediata ejecucin Todo esto apenas dura unos pocos
cada momento para hacer un uso eciente del procesador. milisegundos.

Gracias a que el tiempo del microprocesador se reparte


entre todos los procesos a intervalos muy cortos, el orde-
2 Cmo funciona nador ofrece la sensacin de que todos los procesos estn
ejecutndose a la vez (ejecucin concurrente).
Supngase un ordenador que contiene un nico
microprocesador. Dicho microprocesador solamente Cuando un ordenador tiene varios microprocesadores
puede ejecutar un programa en cada instante de tiem- (vase arquitecura NUMA y SMP), este esquema se re-
po. Adems, cuando un programa est ejecutndose, pite para cada microprocesador.
nunca dejar de hacerlo por s mismo. De manera
que, en principio, cualquier programa monopoliza el
microprocesador impidiendo que otros programas se
ejecuten.
Por ello, la primera misin de un planicador es expulsar
el programa en ejecucin cuando decida que es pertinen-
te. Esto se consigue de dos maneras, siempre con ayuda 3 Tiempo real
del propio hardware:

Un sistema operativo en tiempo real se caracteriza por


Cuando expira un temporizador, que se activa a in-
garantizar que todo programa se ejecutar en un lmite
tervalos regulares de tiempo. En intervalos muy cor-
mximo de tiempo. El planicador debe comportarse de
tos, generalmente cada 250 milisegundos.
manera que esto sea cierto para cualquier proceso.
Cuando el programa solicita una operacin de entra- En estos casos, la nalidad del planicador es balancear
da/salida. Dado que el programa no puede continuar o equilibrar la carga del procesador, impidiendo que un
hasta que termine dicha operacin, es un buen mo- proceso monopolice el procesador o que sea privado de
mento para ejecutar otro programa. los recursos de la mquina. En entornos de tiempo real,
como los dispositivos para el control automtico en la in-
En ambos casos, el control del microprocesador pasa a dustria (por ejemplo, robots), el planicador tambin im-
manos del planicador gracias a que el hardware genera pide que los procesos se paren o interrumpan a otros que
una interrupcin. En este proceso de expulsin, se guarda esperan que se realicen ciertas acciones. Su labor resulta
el estado de ejecucin del programa (programa y su estado imprescindible para mantener el sistema estable y funcio-
se denomina contexto). nando.

1
2 6 TIPOS DE ALGORITMOS

4 Niveles de planicacin Los expropiativos asignan un tiempo de ejecucin a ca-


da proceso despus del cual se calendariza otro proceso,
Los niveles de planicacin estn basados en la frecuencia hasta que cada proceso acabe su trabajo. Tambin pueden
con la que se realiza cada uno. expulsar a un proceso en ejecucin si llega otro de mayor
prioridad que necesita ejecutarse. Los no expropiativos
En los sistemas operativos de propsito general, existen permiten que se ejecute el proceso hasta que acabe su tra-
tres tipos de planicadores. El planicador a corto pla- bajo. Es decir, una vez les llega el turno de ejecutarse, no
zo es el que se ha descrito aqu, siendo tambin el ms dejarn libre la CPU hasta que terminen o se bloqueen.
importante. En ingls, se denomina dispatcher o short
term scheduler, tambin existe un planicador a me-
diano plazo (en ingls, mid term scheduler) relacionado
con aquellos procesos que no se encuentran en memo-
ria principal (vase memoria virtual). Su misin es mo-
ver procesos entre memoria principal y disco (lo que se
conoce como swapping) y por ltimo existe el plani-
cador a largo plazo (en ingls long term scheduler) es
el encargado de ingresar nuevos procesos al sistema y de
nalizarlos.

5 Polticas de planicacin
A continuacin se enumeran diversas polticas de plani-
cacin. Lo habitual es utilizar polticas mixtas. General-
mente, el planicador a corto plazo utiliza round-robin,
mientras que el planicador a largo plazo utiliza varias
colas FIFO (First In First Out). Cada una de estas colas
corresponde a una prioridad diferente.

Planicacin Round-robin

Round-robin con pesos.

Prioridades montonas en frecuencia (RMS (Rate-


monotonic scheduling))

Menor tiempo de respuesta primero (EDF (Earliest


deadline rst scheduling))

FIFO - Tambin conocido como FCFS First Come,


First Served.

LIFO.

SJF - Shortest Job First.

CFS - Completely Fair Scheduler ( Planicador


Completamente Justo)

SRT - Shortest Remaining Time

SPT - Shortest Process Time

Planicacin mediante colas multinivel.

6 Tipos de Algoritmos
Existen dos tipos de algoritmos de calendarizacin (pol-
ticas de planicacin), expropiativos y no expropiativos.
3

7 Origen del texto y las imgenes, colaboradores y licencias


7.1 Texto
Planicador Fuente: https://es.wikipedia.org/wiki/Planificador?oldid=95593154 Colaboradores: Moriel, Frapen, Sanbec, Vcarceler, Sms,
Rembiapo pohyiete (bot), Orgullobot~eswiki, RobotQuistnix, Unf, Yrbot, FlaBot, Mortadelo2005, Tigerfenix, BOTpolicia, CEM-bot, Baiji,
Roberpl, Ggenellina, Thijs!bot, Tab3r, JAnDbot, Plux, Spikderman, Cinevoro, VolkovBot, Matdrodes, Gerakibot, SieBot, Bigsus-bot,
Furado, 23time, AVBOT, Alexman321, Nallimbot, MartinDM, Jkbw, PatruBOT, Tarawa1943, Edslov, AnaBln, MerlIwBot, KLBot2,
Invadibot, Arular, Jacb667, Acratta, Mhidalgo arq, Elvisor, Dexbot, Anouarattn, Balles2601, Jarould, Neoking y Annimos: 42

7.2 Imgenes
Archivo:Commons-emblem-issue.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/b/bc/Commons-emblem-issue.svg
Licencia: GPL Colaboradores: File:Gnome-emblem-important.svg Artista original: GNOME icon artists and User:ViperSnake151

7.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Interfaz grca de usuario

usuario interaccin amigable con un sistema informtico.


(user)

Ejemplos:
Ejemplos:
interfaz grca
(graphical user interface)
KDE Plasma, Aqua,
GNOME Shell X11, Wayland, Quartz
1 Historia

servidor de pantalla
(display server)
gestor de ventanas
(window manager) Ejemplos:
1.1 Precursores
awesome, Compiz,
OpenBox
Ejemplos:
X.Org Server, Weston, KWin, Mutter,
Los investigadores del Stanford Research Institute lidera-
ncleo
(kernel)
Quarz Compositor, SurfaceFlinger dos por Douglas Engelbart, desarrollaron una interfaz de
Ejemplos:
Ncleo Linux, Ncleo FreeBSD, Ncleo XNU
hipervnculos en modo texto gobernada por un ratn, que
tambin inventaron. Este concepto fue ampliado y trasla-
equipamiento
(hardware) dado al entorno grco por los investigadores del Xerox
PARC en la ciudad estadounidense de Palo Alto. El en-
Las capas de una interfaz grca basada a sistema de ventanas. torno se denomin PARC User Interface y en l se de-
nieron los conceptos de ventanas, casilla de vericacin,
botones de radio, mens y puntero del ratn. La inter-
Human-Machine- Hardware Web server solution stacks (LAMP)

faz fue implementada comercialmente en el computador


Pool of free and open-source and

Interface
Supercomputer
Linux kernel Distributed Computing
Routing daemons
remote Computer Cluster Software Development
(SSH, HTTP, ...)
Mainframe computer
Distributed computing
High-performance computing
(HPC)
Package management systems
CAD, CAM & CAE Software
Xerox Star 8010.
proprietary software

Real-time computing
Oce
(RTC)
Image Processing
Keyboard & Mouse Desktop Publishing (DTP)
also Braille, Touch-Display, Speech recognition, Desktop Computer
Graphical User Interfaces

Graphics tablet, 3D-Mouse, Wii nunchak, etc.


Workstation
Windowing Systems

Home Computer

Touch-Display
Desktop replacement laptop Linux Process Scheduler Desktop UI
Thin client

1.2 Xerox Alto


Attitude sensor, Motion sensor, Linux Security Modules
Speech recognition
Mobile computer Linux Network scheduler
(Shells)

Note-/ Net-/ Smartbook


Network stack
Speech recognition Tablet
Smartphone Netlter Touch UI
Attitude sensor PDA / Handheld game console
Motion sensor Linux device drivers
Wearable Computer Linux le system drivers
Wristwatch
Wearable UI
Display, Sound
Vibration
Virtual Retina Display
Head-mounted display El Xerox Alto, desarrollado en el Xerox PARC en 1973,
Video processing software

remote
Embedded Computer
Customer-premises equipment
3D computer graphics
Computer animation
Motion graphics
fue una de las primeras computadoras personales, as co-
mo el primero que utiliz la metfora de escritorio y una
Measurement Equipment
(SSH, HTTP, Digital Audio Workstation
Laboratory Equipment
Serial, I2C, ...)
Layer3-Switches DJ Mixing Software
other embedded systems Video games

interfaz grca de usuario.


Home cinema solutions
Debian software archives: 37,000
software packages

La interfaz grca depende de perifrico de entrada.


1.3 Xerox Star 8010
La interfaz grca de usuario, conocida tambin como
GUI (del ingls graphical user interface), es un programa La estacin de trabajo Xerox Star, conocida ocialmente
informtico que acta de interfaz de usuario, utilizando como el 8010 Star Information System (Sistema de Infor-
un conjunto de imgenes y objetos grcos para represen- macin Estrella 8010) fue introducida por Xerox Corpo-
tar la informacin y acciones disponibles en la interfaz. ration en 1981. Fue el primer sistema comercial en in-
Su principal uso, consiste en proporcionar un entorno vi- corporar varias tecnologas que han llegado a ser hoy en
sual sencillo para permitir la comunicacin con el sistema da corrientes en computadores personales, incluyendo la
operativo de una mquina o computador. pantalla con bitmaps en lugar de solo texto, una interfaz
grca de usuario basada en ventanas, iconos, carpetas,
Habitualmente las acciones se realizan mediante mani-
ratn, red Ethernet, servidores de archivos, servidores de
pulacin directa, para facilitar la interaccin del usuario
impresoras y correo electrnico.
con la computadora. Surge como evolucin de las inter-
faces de lnea de comandos que se usaban para operar los
primeros sistemas operativos y es pieza fundamental en 1.4 Apple Lisa, Macintosh, Apple II GS
un entorno grco. Como ejemplos de interfaz grca de
usuario, cabe citar los entornos de escritorio Windows, el Tras una visita al Xerox PARC en 1979, el equipo de
X-Window de GNU/Linux o el de Mac OS X, Aqua. Apple encabezado por Jef Raskin se concentra en dise-
En el contexto del proceso de interaccin persona- ar un entorno grco para su nueva generacin de 16
computadora, la interfaz grca de usuario es el artefac- bits, que se ver plasmado en el Apple Lisa en 1983.
to tecnolgico de un sistema interactivo que posibilita, a Ese sistema grco es portado al sucesor del Apple II,
travs del uso y la representacin del lenguaje visual, una el Apple II GS. Un segundo equipo trabaja en el Apple

1
2 2 TIPOS DE INTERFACES GRFICAS DE USUARIO

Macintosh que ver la luz en 1984 con una versin me- 1.8 Apple y Microsoft
jorada del entorno grco del Lisa (pretendimos hacer
una computadora tan simple de manejar como una tos- En 1982, Apple haba comenzado como una microem-
tadora). Desde ese momento el Mac reinar como pa- presa formada por dos empleados, Steve Jobs y Steve
radigma de usabilidad de un entorno grco; pese a que Wozniak, y haba crecido hasta convertirse en una em-
por debajo el sistema operativo sufra cambios radicales, presa de 300 millones de dlares. En 1983, ya se haba
los usuarios no avanzados no son conscientes de ello y no convertido en una empresa de 1000 millones de dlares,
sufren los problemas de otras plataformas. el mismo valor que IBM.
En 1985, Microsoft saca al mercado Windows 1.0, en-
1.5 Workbench torno grco para computadoras PC IBM compatibles,
con muchos parecidos al Mac OS. La respuesta de Apple
Workbench es el nombre dado por Commodore a la a la introduccin del sistema operativo Windows fue la in-
interfaz grca del AmigaOS, el sistema operativo del terposicin de una demanda de varios miles de millones
Commodore Amiga lanzado en 1985. A diferencia de los de dlares contra Microsoft, por violacin de copyright.
sistemas ms populares (GEM, Mac OS, MS Windows...) En 1987 IBM se vio obligada a entrar en el mercado de las
es un verdadero entorno multitarea solo rivalizado por la computadoras personales con entorno grco con su mo-
interfaz X Window System de los diferentes sabores de delo IBM Personal System/2 (PS/2), alindose con Bill
Unix. La frase ms repetida por un amiguero es: para Gates (Microsoft), que haba desarrollado el OS/2. La in-
masacrar marcianos, formatear un disquete y enviar o re- terfaz grca de este sistema operativo era muy similar a
cibir un Fax todo a la vez y sin colgarse, necesitas un 386 la de Apple. El OS/2 no se convirti en el nuevo estn-
con disco duro, 16 MB de RAM y OS/2; un Amiga 500 dar del sector, debido fundamentalmente al conicto de
con disquete y solo su memoria base (512 KB de RAM intereses entre IBM y Microsoft.
y 512 KB de ROM) es capaz de todo eso. Aunque muy
popular por los espectaculares (para entonces) grcos de La aparicin de computadoras IBM clnicas hizo que el
la mquina y su gran plantel de videojuegos, ser la negli- sistema Windows se popularizara, lo que rest mercado a
gencia de sus sucesivos propietarios la principal causa de Apple. Esta se recuper a nales de 1990 lanzando nuevos
que acabe restringido a solamente la plataforma Amiga. productos.
Una seal inequvoca del xito de Apple fue la aparicin
de productos similares: una pequea compaa llamada
1.6 GEOS Nutek Computers Inc., anunci que estaba desarrollando
una computadora compatible con el Macintosh.
Para el Commodore 64 y su sucesor el Commodore 128
se desarroll el entorno grco GEOS en 1986. Este en- En 1991, John Sculley, director de Apple, revel que la
torno se port al IBM PC, fue utilizado en varias PDA y compaa estaba considerando competir contra Micro-
Nokia lo us como base de su actual sistema operativo. soft en el campo del software vendiendo su sistema ope-
rativo a terceros. Apple revel que estaba manteniendo
conversaciones con su antiguo rival, IBM, destinadas a
1.7 GEM compartir tecnologas. Decidieron crear una joint venture
para desarrollar un sistema operativo avanzado que am-
GEM (Graphical Environment Manager) es un GUI dise- bas utilizaran en sus nuevas mquinas y licenciaran a
ado por Digital Research en 1985 para ejecutarse sobre terceros. Este plan presentaba un desafo directo a Mi-
varios sistemas operativos de lnea de comandos del IBM crosoft.
PC y compatibles: funciona tanto sobre IBM DOS /MS-
Microsoft consigue convertir a Windows en el sistema
DOS como sobre CP/M 86. Su mxima popularidad en el
operativo ms utilizado en el mundo, dejando a Apple
PC llega de la mano del Amstrad PC1512 y del Amstrad
en un segundo lugar.
PC1640, los clnicos que rompieron en Europa la barrera
del precio popularizando el PC, hasta ese momento rele-
gado mayoritariamente a ocinas. Aunque se incorpora
en su primera generacin de porttiles y en el Sinclair 2 Tipos de interfaces grcas de
PC200, ser sustituido en la siguiente generacin de PCs
Amstrad por Microsoft Windows 2.xx. En el PC vivir usuario
una segunda juventud al venir de serie con DR-DOS co-
mo TaskMax. 2.1 Las GUI y ZUI
Pero ser en los Atari ST y sucesores donde se convertir
en el entorno grco ocial de la plataforma, alcanzando Los tipos de interfaces grcas de usuarios (GUI) que se
gran popularidad, tanto por ser en principio una alternati- encuentran en juegos de computadora, y las GUI avanza-
va barata al MAC en autoedicin, como por hacerse con dos basados en realidad virtual, se usan con frecuencia en
el nicho de mercado de la msica profesional. tareas de investigacin. Muchos grupos de investigacin
3

4 Vase tambin
AJAX
Arquitectura de la informacin

Biblioteca de enlace dinmico


Evolucin de las intefaces de usuario. Ingeniera de software
CLI (Command line interface): Interfaz de lnea de comandos
GUI (Graphical user interface): Interfaz grca de usuario Interfaz
NUI (Natural user interface): Interfaz natural de usuario
Interfaz de usuario

en Norteamrica y Europa estn trabajando actualmente Interaccin persona-computadora


en la interfaz de enfoque del usuario o ZUI (Zooming User Interfaz de lnea de comandos (CLI)
Interface), que es un adelanto lgico de las GUI, mezclan-
do 3D con 2D. Podra expresarse como 2 dimensiones Ley de Fitts
y media en objetos vectoriales de una dimensin.
Look and feel

Metfora de escritorio
2.2 Interfaz de usuario de pantalla tctil
Rich Internet Applications, en espaol: Aplicaciones
Algunas GUI son diseadas para cumplir con los rigu- ricas de internet.
rosos requisitos de los mercados verticales. Estos se co-
nocen como las GUI de uso especco. Un ejemplo de un Usabilidad
GUI de uso especco es la ahora familiar pantalla tctil o
touchscreen (pantalla que al ser tocada efecta los coman-
dos del ratn en el software). Se encuentra actualmente 5 Referencias
implementado en muchos restaurantes y en muchas tien-
das de autoservicio de todo el mundo. Fue iniciado por [1] http://www.howtogeek.com/howto/17528/
Gene Mosher en la computadora del ST de Atari en 1986, change-the-user-interface-language-in-ubuntu/
el uso que l especc en las GUI de pantalla tctil ha en-
cabezado una revolucin mundial e inovadora en el uso de
las computadoras a travs de las industrias alimenticias y 6 Bibliografa
de bebidas, y en ventas al por menor.
Otros ejemplos de GUI de uso especco, relacionados Royo, Javier. Diseo Digital. Ediciones Paids Ib-
con la pantalla tctil son los cajeros automticos, los kios- rica, 2004.
cos de informacin y las pantallas de monitoreo y control
en los usos industriales, que emplean un sistema opera- Shneiderman, Ben. Designing The user interface,
tivo de tiempo real (RTOS). Los telfonos mviles y los Strategies for eective Human-computer interac-
sistemas o consolas de juego tambin emplean las pan- tion. Addison-wesley,1998
tallas tctiles. Adems la domtica no es posible sin una
buena interfaz de usuario, o GUI.
7 Enlaces externos
2.3 Interfaz Natural de Usuario (NUI) Wikimedia Commons alberga contenido
multimedia sobre Interfaz grca de usuario.
Las NUI naturales son aquellas en las que se interacta
Commons
con un sistema, aplicacin, etctera, sin utilizar dispositi-
vos de entrada como ratn, teclado, lpiz ptico, etc. En Apple v. Microsoft (en ingls)
lugar de estos se utilizan las manos o las yemas de los
dedos. Ars Technica: A History of the GUI por Jeremy Re-
imer (en ingls).

Interfaces Grcas de Usuario (Historia).


3 Idioma
Imgenes de casi todos los entornos grcos de sis-
temas operativos
Suele ser habitual poder cambiar el idioma de la interfaz
de usuario.[1]
4 8 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

8 Origen del texto y las imgenes, colaboradores y licencias


8.1 Texto
Interfaz grca de usuario Fuente: https://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuario?oldid=97270305 Colaboradores:
Suisui, Sabbut, Migue1 ange1~eswiki, Dodo, Ascnder, AlbertoDV, Ricky~eswiki, Elwikipedista, Jos Gnudista, Tano4595, Ramjar,
Murphy era un optimista, Enric Naval, Jag2k4, Porao, LeonardoRob0t, Boticario, Soulreaper, Rembiapo pohyiete (bot), Gussisaurio,
Drini2, RobotQuistnix, Superzerocool, Chobot, Palica, Yrbot, Amads, Baito, Vitamine, YurikBot, Museo8bits, GermanX, Jesuja, Fe-
dericoMP, Eskimbot, Gtz, Kimero, Tomatejc, Filipo, Siabef, Carloswitt, The worst user, Bufalo 1973, BOTpolicia, Alfa989, Hawking,
CEM-bot, Goliardo, Kojie, Retama, Jojolu, Rastrojo, Antur, Jjafjjaf, Thijs!bot, Srengel, Lazamazu, VARGUX, Alejandrozeballos, Es-
carbot, Chr5, MorZilla, Nlandoni, Isha, Egaida, Jurgens~eswiki, JAnDbot, Riggoperez, CommonsDelinker, TXiKiBoT, Trabajonacho,
NaBUru38, Gustronico, Humberto, Netito777, ZrzlKing, Sirpuppet, Idioma-bot, Plux, Snakefang, Manuel Trujillo Berges, DonBarre-
dora, AlnoktaBOT, VolkovBot, Snakeyes, Technopat, Matdrodes, Shooke, Lucien leGrey, AlleborgoBot, Muro Bot, Komputisto, SieBot,
Maty1206, Obelix83, Manw, Ugly, CarlosPSY, Ivanics, Javierito92, Marcecoro, Machucho2007, StarBOT, Ficbot, Nicop, Botelln, Leon-
polanco, Pablo323, Nerika, Frei sein, UA31, AVBOT, SpBot, Diegusjaimes, Davidgutierrezalvarez, Urbietorbi, MelancholieBot, Arjuno3,
Saloca, WikiDreamer Bot, Nallimbot, Real academia del gui~eswiki, Ptbotgourou, Dangelin5, Mcapdevila, SuperBraulio13, Almabot,
Jkbw, Max Francesco, FrescoBot, Surfaz, Botarel, BenzolBot, BOTirithel, Gusbelluwiki, MondalorBot, Leugim1972, PatruBOT, Dinamik-
bot, Dejsoft, Jorge c2010, HRoestBot, Rubpe19, UnRar, WikitanvirBot, Antonorsi, MerlIwBot, Acratta, Minsbot, LlamaAl, Creosota,
DanielithoMoya, Helmy oved, Eliluminado2010, EduLeo, Legobot, Balles2601, ScotXW, Gradebo, Lagoset, Katen1992, Jarould, Crysta-
llizedcarbon, Sejuzu, Kian Martz, Caca23800, Zurbon y Annimos: 232

8.2 Imgenes
Archivo:CLI-GUI-NUI,_evolucin_de_interfaces_de_usuario.png Fuente: https://upload.wikimedia.org/wikipedia/commons/a/a5/
CLI-GUI-NUI%2C_evoluci%C3%B3n_de_interfaces_de_usuario.png Licencia: CC BY-SA 4.0 Colaboradores: Trabajo propio Artista
original: Marcecoro
Archivo:Commons-logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
Archivo:Esquema_de_las_capas_de_la_interfaz_grfica_de_usuario.svg Fuente: https://upload.wikimedia.org/wikipedia/
commons/1/12/Esquema_de_las_capas_de_la_interfaz_gr%C3%A1fica_de_usuario.svg Licencia: CC BY-SA 3.0 Colaboradores:
Trabajo propio Artista original: ScotXW
Archivo:Linux_kernel_ubiquity.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/3/3a/Linux_kernel_ubiquity.svg Li-
cencia: CC BY-SA 3.0 Colaboradores: Esta imagen incluye elementos que han sido tomados o adaptados de esta: <a
href='//commons.wikimedia.org/wiki/File:Tux-shaded.svg' class='image'><img alt='Tux-shaded.svg' src='https://upload.wikimedia.org/
wikipedia/commons/thumb/0/0a/Tux-shaded.svg/17px-Tux-shaded.svg.png' width='17' height='20' srcset='https://upload.wikimedia.
org/wikipedia/commons/thumb/0/0a/Tux-shaded.svg/25px-Tux-shaded.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/
thumb/0/0a/Tux-shaded.svg/33px-Tux-shaded.svg.png 2x' data-le-width='249' data-le-height='297' /></a> Tux-shaded.svg. Artista ori-
ginal: ScotXW

8.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Interfaz de programacin de aplicaciones

La interfaz de programacin de aplicaciones, abrevia- (c) Haz que el sistema operativo dibuje el texto
da como API del ingls: Application Programming Inter- Hola Mundo usando la fuente cargada.
face,[1] es un conjunto de subrutinas, funciones y proce-
3. Usando una aplicacin (que a su vez usa el sistema
dimientos (o mtodos, en la programacin orientada a ob-
operativo) para realizar la mayor parte del trabajo:
jetos) que ofrece cierta biblioteca para ser utilizado por
otro software como una capa de abstraccin. (a) Escribe un documento HTML con las palabras
Son usadas generalmente en las bibliotecas de programa- Hola Mundo para que un navegador web co-
cin. mo Firefox, Chrome, Opera, Safari, Midori,
Iceweasel, Web o Internet Explorer pueda re-
presentarlo en el monitor.
1 Caractersticas Como se puede ver, la primera opcin requiere ms pa-
sos, cada uno de los cuales es mucho ms complicado que
Una API representa la capacidad de comunicacin entre los pasos de las opciones siguientes. Adems, no resulta
componentes de software. Se trata del conjunto de lla- nada prctico usar el primer planteamiento para represen-
madas a ciertas bibliotecas que ofrecen acceso a ciertos tar una gran cantidad de informacin, como un artculo
servicios desde los procesos y representa un mtodo para enciclopdico sobre la pantalla, mientras que el segundo
conseguir abstraccin en la programacin, generalmen- enfoque simplica la tarea eliminando un paso y hacien-
te (aunque no necesariamente) entre los niveles o capas do el resto ms sencillos y la tercera forma simplemente
inferiores y los superiores del software. Uno de los prin- requiere escribir Hola Mundo. Sin embargo, las API de
cipales propsitos de un API consiste en proporcionar un alto nivel generalmente pierden exibilidad; por ejemplo,
conjunto de funciones de uso general, por ejemplo, para resulta mucho ms difcil en un navegador web hacer gi-
dibujar ventanas o iconos en la pantalla. De esta forma, rar texto alrededor de un punto con un contorno parpa-
los programadores se benecian de las ventajas del API deante que programarlo a bajo nivel. Al elegir usar una
haciendo uso de su funcionalidad, evitndose el trabajo API se debe llegar a un cierto equilibrio entre su potencia,
de programar todo desde el principio. Las API asimismo simplicidad y prdida de exibilidad.
son abstractas: el software que proporciona una cierta API
generalmente es llamado la implementacin de esa API.
Por ejemplo, se puede ver la tarea de escribir "Hola Mun- 2 Ejemplos de interfaces de pro-
do" sobre la pantalla en diferentes niveles de abstraccin: gramacin
1. Haciendo todo el trabajo desde el principio: CORBA (Common Object Request Broker Architec-
(a) Traza, sobre papel milimetrado, la forma de ture)
las letras (y espacio) H, o, l, a, M, u, n, d, o. Drupal API
(b) Crea una matriz de cuadrados negros y blancos Glibc
que se asemeje a la sucesin de letras.
(c) Mediante instrucciones en ensamblador, escri- Microsoft Win32 API
be la informacin de la matriz en la memoria Microsoft WMI
intermedia (buer) de pantalla.
API for SCSI device interfacing
(d) Mediante la instruccin adecuada, haz que la
tarjeta grca realice el volcado de esa infor- The Carbon APIs for the Apple Macintosh Mac OS X
macin sobre la pantalla.
Symfony para PHP
2. Por medio de un sistema operativo para hacer parte
del trabajo:
3 Referencias
(a) Carga una fuente tipogrca proporcionada
por el sistema operativo. [1] https://twitter.com/RAEinforma/status/
(b) Haz que el sistema operativo borre la pantalla. 559716363376541696

1
2 5 ENLACES EXTERNOS

4 Vase tambin
Ambiente de desarrollo integrado

5 Enlaces externos
www.google.com/apis Google APIs (beta).

www.flickr.com/services/api Flickr API Documen-


tation.

api.drupal.org API de Drupal.


apiwiki.twitter.com API de Twitter.

www.afterbanks.com/api/documentation/es API de
Afterbanks.

www.cercalia.com/cercalia/api.html API de Cerca-


lia.

portal.solutecia.com/productos-servicios/
bitacora-solutecia/api/ API de Solutecia.
Vdeo que explica el concepto de administracin de
las API (API Management) (en ingls).
solidgeargroup.com/
automatizar-pruebas-api-usando-postman Au-
tomatizar pruebas de una API.
3

6 Origen del texto y las imgenes, colaboradores y licencias


6.1 Texto
Interfaz de programacin de aplicaciones Fuente: https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones?
oldid=97439557 Colaboradores: Sabbut, SpeedyGonzalez, HooftBot~eswiki, Robbot, Frapen, Dodo, Tostadora, Tano4595, Jsanchezes,
Italo~eswiki, Fmariluis, Digigalos, Boticario, RichardWeiss, Yurik, Brunogarciaechegaray, Patcito, Edub, Yrithinnd, Rembiapo pohyiete
(bot), Marco Regueira, Genba, Murven, RobotQuistnix, Superzerocool, Chobot, Pabloab, FlaBot, YurikBot, GermanX, LoquBot, Knigh-
tRider, Carutsu, FedericoMP, Eskimbot, Zanaqo, Cad, CEM-bot, -jem-, Jjvaca, Ugur Basak Bot~eswiki, Thijs!bot, Escarbot, JAnDbot,
Jugones55, Laloshka, TXiKiBoT, HodracirK, Netito777, Rei-bot, Snakefang, Dhidalgo, DonBarredora, Cinevoro, VolkovBot, Technopat,
Matdrodes, Shooke, BotMultichill, SieBot, Loveless, Maximino63, BOTarate, Correogsk, El bot de la dieta, PipepBot, Fadesga, Tirit-
hel, Huku-chan, Marcecoro, Alecs.bot, Botito777, BetoCG, Alexbot, BodhisattvaBot, UA31, AVBOT, Louperibot, MastiBot, DumZiBoT,
Adamsrr, Luckas-bot, Nallimbot, Lu Tup, Ptbotgourou, LyingB, Pegna, Sakhal~eswiki, ArthurBot, Sebitagermanotta, SuperBraulio13,
Ortisa, Xqbot, Jkbw, FrescoBot, Harleyman, Alecko, Rexmania, D'ohBot, Txus nexus, RedBot, Edgardo C, PatruBOT, Alessia.ulfe, Rip-
chip Bot, Riveravaldez, EmausBot, Daviba, AneleZeravla, Tokvo, Aabella, Ryo567, Green Mostaza, Oulrij, Elvisor, Legobot, Addbot,
Cristianfalcone, Balles2601, Dkunzevich, Jarould, Crystallizedcarbon, Saul Goodman costa rica, Blansteint y Annimos: 120

6.2 Imgenes

6.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Extensible Firmware Interface

nar acceso remoto para la solucin de problemas o man-


tenimiento.

1 Historia
La primera iniciativa se produjo durante las primeras fa-
ses de desarrollo del Intel Itanium de HP a mediados de
los aos 90. Debido a que estos procesadores apuntaban
alto, las especicaciones del BIOS resultaban muy limi-
tadas, por ello Intel desarroll inicialmente lo que sera la
IBI, del acrnimo ingls Intel Boot Initiative, que poste-
riormente fue renombrado a EFI.
El 25 de julio de 2005 se cre la fundacin UEFI (Uni-
ed Extensible Firmware Interface) cuya labor consista
en desarrollar y promocionar la plataforma EFI. El siste-
ma ha sido administrado y desarrollado desde entonces
por un grupo de trabajo transversal en la industria inclu-
yendo a Intel, AMD, Apple, Dell, Lenovo y Microsoft.
A principios de 2007, la versin 2.1 de la especicacin
UEFI vio la luz y, meses despus, trajo consigo mejoras
como: cifrado, autenticacin de red y la destacable Inter-
Sistema operativo faz de usuario humana.

2 Ventajas
Extensible Firmware Interface
La interfaz UEFI incluye bases de datos con informacin
de la plataforma, inicio y tiempo de ejecucin de los ser-
vicios disponibles listos para cargar el sistema operativo.
Firmware UEFI destaca principalmente por:

Hardware Compatibilidad y emulacin del BIOS para los sis-


temas operativos solo compatibles con esta ltima.
La posicin de la Extensible Firmware Interface en la pila del Soporte completo para la Tabla de particiones
software. GUID (GPT), se pueden crear hasta 128 particio-
nes por disco, con una capacidad total de 8 ZB.[1]
La Interfaz de Firmware Extensible Unicada, Uni-
Capacidad de arranque desde unidades de almace-
ed Extensible Firmware Interface (UEFI), es una
namiento grandes, dado que no sufren de las limita-
especicacin que dene una interfaz entre el sistema
ciones del MBR.
operativo y el rmware. UEFI reemplaza la antigua
interfaz del Sistema Bsico de Entrada y Salida (BIOS) Independiente de la arquitectura y controladores de
estndar presentado en los computadores personales IBM la CPU.
PC como IBM PC ROM BIOS.
Entorno amigable y exible Pre-Sistema Operativo,
La Interfaz de rmware extensible (EFI) fue desarro- incluyendo capacidades de red.
llada inicialmente por Intel en el 2002. UEFI puede pro-
porcionar mens grcos adicionales e incluso proporcio- Diseo modular.

1
2 5 ADOPCIN

La EFI hereda las nuevas caractersticas avanzadas del 4.2 Protocolos


BIOS como ACPI (Interfaz Avanzada de Conguracin
y Energa) y el SMBIOS (Sistema de Gestin de BIOS), La EFI dene un conjunto de protocolos de interfaz de
y se le pueden aadir muchas otras, ya que el entorno se software utilizados para la comunicacin entre dos m-
ejecuta en 64 bits y no en 32 bits, como su predecesora. dulos binarios. Todos los controladores de la EFI deben
proveer servicios a los dems a travs de dichos protoco-
los.
3 Compatibilidad
4.3 Controladores/Drivers
3.1 Soporte de dispositivos de almacena-
miento Las especicaciones de la EFI permiten ofrecer un con-
trolador de dispositivo independiente del procesador de-
La EFI comunica el arranque adems de con el ya clsico nominado EFI Byte Code o simplemente EBC. Gracias a
MBR, con el sistema GPT que solventa las limitaciones esto, se permite soporte para la carga de grcos, red, so-
tcnicas del MBR, a saber: nido y opciones avanzadas del sistema, sin haber precar-
gado el sistema operativo en cuestin. Esto era totalmente
Solo los procesadores little-endian pueden ser so- imposible en el BIOS, ya que cargaba funciones muy li-
portados. mitadas y necesarias, como el soporte de perifricos, por
ejemplo, teclado y ratn.
MBR soporta hasta 4 particiones por unidad fsica
con un lmite de 2,2 TB, es decir, un disco duro u
otro dispositivo de almacenamiento de 10 TB o ms 4.4 Gestor de arranque
no se podra aprovechar su capacidad al 100%.
Un gestor de arranque propio de la EFI permite tambin
GPT soporta tericamente hasta 9,4 ZB y no exige la seleccin y carga directa de los sistemas operativos, eli-
un sistema de archivos concreto para funcionar. minando la necesidad de recurrir a gestores de arranque.

Microsoft Windows soporta GPT a partir de las versiones


de 64 bits de Windows Vista y posteriores. 4.5 Interfaz
Algunos sistemas basados en Unix utilizan un hbrido en-
La EFI trae consigo una interfaz interactiva y muy ami-
tre MBR y GPT para arrancar.
gable, que adems permite ejecutar otras aplicaciones ex-
ternas a la propia EFI, siempre y cuando sean compatibles
3.2 32 y 64 bits con la especicacin.

Los BIOS hacen uso de modos de 16 bits para funcionar,


diseo heredado del Intel 8088, pero a diferencia de esto, 4.6 Extensiones
la EFI funciona directamente con modos de 32 bits y 64
bits, permitiendo que las aplicaciones de la EFI tengan Toda extensin de la EFI puede cargarse desde cualquier
acceso completo al direccionamiento de 64 bits. dispositivo no voltil que est enchufado al ordenador.
Un fabricante OEM puede distribuir su sistema con una
particin EFI instalada en un disco duro o una Unidad de
estado slido.
4 Caractersticas

4.1 Servicios 5 Adopcin


La EFI emplea 2 tipos de servicios, denominados servicio
de arranque y servicio de ejecucin 5.1 Intel EFI

El servicio de arranque incluye texto e interfaz gr- El Framework de Intel recibe el nombre de Tiano. Tiano
ca orientado a una consola que se encarga de so- se ejecuta en procesadores XScale, Itanium e IA32 ba-
portar y gestionar dispositivos, buses, bloques y ser- jo licencia propietaria, aunque parte del cdigo ha sido
vicios de archivo. liberado bajo licencia BSD recibiendo el nombre de Pro-
yecto TianoCore. Phoenix Tecnologies comercializa ac-
Los servicios de ejecucin son los que controlan la tualmente BIOS Phoenix SecureCore Tiano y Phoenix
fecha, la hora o el NVRAM. MicroCore compatibles con la interfaz UEFI
3

5.2 Plataformas que utilizan UEFI Introducido soporte EFI en los sistemas operativos
x64 de Microsoft Windows, como Windows Server
El primer procesador Itanium dirigido a estaciones de tra- 2008, Windows 7 y Windows Vista Service Pack 1.
bajo y lanzado en el ao 2000 ya soportaba la especica- Microsoft no ofrece soporte UEFI a los sistemas de
cin EFI 1.02. 32 bits, como, por ejemplo, Windows XP.
En el 2002, el Itanium 2 ya soportaba EFI 1.10, capaz Windows 8 sustituy completamente el BIOS por
de arrancar Microsoft Windows, GNU/Linux, FreeBSD, EFI, permitiendo diversas mejoras.
HP-UX y OpenVMS.
Desde el 2005, se ha tratado de implementar EFI en ar-
quitecturas extrapolables a las de PC, como las basadas 6 Vase tambin
en Intel XScale o sistemas embebidos.
En 2006 Apple mont sus ordenadores basados en la ar- BIOS
quitectura x86 de Intel, y, por ello, comenzaron a utilizar
Computadora personal
sistemas EFI en lugar de Open Firmware como se haca
en los anteriores sistemas basados en PowerPC; poste- Coreboot
riormente Apple lanz Bootcamp, que permite un parti-
cionado no destructivo y soporte de drivers para la insta- Firmware
lacin de sistemas operativos Microsoft sin necesidad de
IBM
reinstalar Mac OS X. Se aadi compatibilidad de BIOS
a la EFI. IBM PC ROM BIOS
En el 2008, bastantes sistemas basados en 64 bits han LinuxBIOS
adoptado la EFI, si bien muchos de estos sistemas slo
soportan el arranque mediante BIOS, gracias al Mdu- Open Firmware
lo de soporte de compatibilidad; muchos otros, en cam-
bio, comienzan a arrancar en sistemas UEFI, por ejem- OpenBIOS
plo, servidores IBM, ciertas placas base MSI de soporte OpenBook Project
ClickBIOS, porttiles HP Elitebook y algunas Tabletas
PC HP.
En 2009, sistemas x de IBM (x3550 M2, x3650 M2, iDa- 7 Enlace externo
taPlex dx360 M2) y Bladecenter HS22. Dell PowerEdge
T610; servidores R610, R710, M610, M710. www.uefi.org Sitio ocial de UEFI.

5.3 Sistemas operativos 8 Referencias


GNU/Linux ha sido capaz de utilizar EFI en el [1] Instalacin. 3.4 BIOS Instalacin. GNU GRUB. Con-
arranque desde principios de 2000 mediante el ges- sultado el 25 de septiembre de 2013.
tor de arranque LiLo o las ms recientes versiones
de GRUB.

HP-UX ha usado (U)EFI como mecanismo de


arranque en sistemas IA_64 desde el 2002. HP
OpenVMS ha usado (U)EFI en IA-64 desde su lan-
zamiento inicial en diciembre de 2003, y para las
versiones de produccin desde enero de 2005.

Apple escogi el EFI original para sus ordenadores


basados en Intel 32/64 bits (2006), y es el utilizado
actualmente en sus computadoras.

Itanium para Windows 2000 (Advanced Server Li-


mited Edition y Datacenter Server Limited Edition)
soporta EFI 1.10 en 2002. Windows Server 2003
para IA-64, Windows XP 64 Bits y Windows 2000
Advanced Server Limited Edition, todos los cuales
son para la familia de procesadores Itanium.
4 9 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS

9 Origen del texto y las imgenes, colaboradores y licencias


9.1 Texto
Extensible Firmware Interface Fuente: https://es.wikipedia.org/wiki/Extensible_Firmware_Interface?oldid=98324690 Colaboradores:
Jarl, Almorca, LeonardoRob0t, Digigalos, Yrbot, FlaBot, GermanX, Er Komandante, Alfa989, Qwertyytrewqqwerty, CEM-bot, -jem-
, Alejandro.delatorre, Retama, Ciberhaguen, Damon~eswiki, Kavanagh, CommonsDelinker, TXiKiBoT, Kaprak, Cinevoro, VolkovBot,
Shooke, Muro Bot, BotMultichill, PaintBot, RICARDOSA, Marcecoro, Sirgazil, MastiBot, Javu61, Arjuno3, ArthurBot, Abigor, Xqbot,
Botarel, TorQue Astur, PatruBOT, KamikazeBot, Dinamik-bot, EmausBot, Manuel antoln, ZroBot, ILoveSugar, AStarBot, Rezabot,
Elvisor, Alfair, 2rombos, Rauletemunoz, Legobot, Coolherors, Miguu, Hitman4869, Mgalera18ene1987 y Annimos: 58

9.2 Imgenes
Archivo:Efi-simple_es.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/4/4e/Efi-simple_es.svg Licencia: Public domain
Colaboradores: Trabajo propio Artista original: Msikma
Archivo:Uefi_logo.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/d/df/Uefi_logo.svg Licencia: Public domain Colabora-
dores: UEFI Artista original: Mouagip

9.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0
Memoria de solo lectura

La memoria de slo lectura, conocida tambin como


ROM (acrnimo en ingls de read-only memory), es un
medio de almacenamiento utilizado en ordenadores y dis-
positivos electrnicos, que permite solamente la lectura
de la informacin y no su escritura, independientemen-
te de la presencia o no de una fuente de energa. Cabe
recordar que esta es una memoria de acceso secuencial.
Los datos almacenados en la ROM no se pueden modi-
car, o al menos no de manera rpida o fcil. Se utili- PROM D23128C en la plaqueta de una Sinclair ZX Spectrum.
za principalmente en su sentido ms estricto, se reere
solo a mscara ROM -en ingls, MROM- (el ms anti-
guo tipo de estado slido ROM), que se fabrica con los mario no voltil. En 2007, NAND ha avanzado bastante
datos almacenados de forma permanente y, por lo tanto, en su meta, ofreciendo un rendimiento comparable al de
su contenido no puede ser modicado de ninguna forma. los discos duros, una mejor tolerancia a los golpes, una
Sin embargo, las ROM ms modernas, como EPROM y miniaturizacin extrema (como por ejemplo memorias
Flash EEPROM, efectivamente se pueden borrar y vol- USB y tarjetas de memoria MicroSD), y un consumo de
ver a programar varias veces, aun siendo descritos como potencia mucho ms bajo. Esta memoria es nicamente
memoria de slo lectura (ROM). La razn de que se las de lectura, y sirve para almacenar el programa bsico de
contine llamando as es que el proceso de reprograma- iniciacin, instalado desde fbrica. Este programa entra
cin en general es poco frecuente, relativamente lento y, en funcin en cuanto es encendida la computadora y su
a menudo, no se permite la escritura en lugares aleatorios primer funcin es la de reconocer los dispositivos (inclu-
de la memoria. A pesar de la simplicidad de la ROM, los yendo memoria de trabajo).
dispositivos reprogramables son ms exibles y econmi-
cos, por lo cual las antiguas mscaras ROM no se suelen
encontrar en hardware producido a partir de 2007. 1.1 Uso para almacenamiento de software

Los ordenadores domsticos a comienzos de los aos


1980 venan con todo su sistema operativo en ROM y
1 Historia solan arrancar en el prompt de un intrprete BASIC. No
haba otra alternativa razonable ya que las unidades de
disco eran por entonces demasiado costosas. Incluso el
IBM PC traa un BASIC en ROM que se cargaba cuando
no se introduca un disquete de arranque. En caso de ha-
cerlo el IBM PC DOS tena una versin ampliada de ese
BASIC (llamado BASICA) ya con soporte de unidades
de disco. Por ello los equipos solan montar el chip ROM
sobre un zcalo para no tener que recurrir a desoldarlo.
Los que consideraban la posibilidad de actualizacin (no
necesariamente por el pblico) equipaban una EPROM
para agilizar el proceso. Precisamente para evitar estas
La primera EPROM, Intel 1702. actualizaciones las videoconsolas tenan todos sus chips
ROM directamente soldados en placa.
La memoria ash, inventada por Toshiba a mediados de De hecho, una razn de que se utilice la memoria ROM
los 50, y comercializada a principio de los 60s, es un ti- para almacenar programas y datos es la velocidad, ya que
po de EEPROM que hace un uso muy eciente del chip los discos siguen siendo ms lentos incluso hoy. Y lo que
y puede ser borrada y reprogramada muchas veces sin es an ms importante, no se puede leer un programa que
dao. Los diseadores rompieron explcitamente con las es necesario para operar con un disco desde el propio dis-
prcticas del pasado, armando que enfocaba ser un re- co. Por eso se ha utilizado para almacenar pequeos pro-
emplazo de los discos duros", ms que tener el tradicional gramas de arranque desde disquete, una BIOS, o incluso
uso de la ROM como una forma de almacenamiento pri- la totalidad del sistema operativo como en los Atari ST,

1
2 3 VASE TAMBIN

cargando extensiones desde disquete. mas de pitidos (beeps) para avisar al usuario que tipo de
La evolucin causada por el compatible IBM PC hizo que problema hay.
precisamente el primer componente en que se sustituye El SETUP es una porcin de software que a diferencia
la ROM/EPROM por una memoria ash sea el chip de de sus compaeros, podemos entrar en su conguracin
BIOS para permitir las actualizaciones de su Firmware. Y y realizar cambios en sus parmetros con la intencin de
lo segundo fuer la pequea memoria esttica o baterizada optimizar el funcionamiento del hardware. El men prin-
donde se almacenaban los parmetros de arranque (como cipal del SETUP est dividido en secciones, en las que
las preferencias establecidas en la BIOS). se agrupan las opciones de acuerdo con los componentes
Actualmente los sistemas operativos en general ya no van que se pueden modicar.
en ROM. Las actuales PDAs, tabletas y telfonos inteli-
gentes se reeren a lo que es su sistema operativo como
ROM, pero en realidad (excepto en los primeros equi- 2 Velocidad
pos) es parte de la memoria ash que se deja reservada
por dicho sistema para que el usuario no pueda acceder a 2.1 Velocidad de lectura
ella excepto en procesos especiales de actualizacin (que
si fallan pueden acabar con un pisapapeles caro). Aunque la relacin relativa entre las velocidades de las
La otra gran aplicacin de la ROM/EPROM para al- memorias RAM y ROM ha ido variando con el tiempo,
macenar videojuegos tuvo su ltimo episodio con dos desde el ao 2007 la RAM es ms rpida para la lectura
videoconsolas de Nintendo: la Nintendo 64 y la Game que la mayora de las ROM, razn por la cual el conte-
Boy Advance fueron las ltimas en montar el videojuego nido ROM se suele traspasar normalmente a la memoria
en todo o parte en un chip ROM dentro de un cartucho. RAM, desde donde es leda cuando se utiliza.
Los usuario de la Nintendo DS siguen rerindose a sus
juegos como cartuchos ROM pero son en realidad un tipo
especial de tarjetas de memoria ash. Todas las consolas 2.2 Velocidad de escritura
de sobremesa usan soportes pticos o incluso descargas
de Internet a sus discos duros. Para los tipos de ROM que puedan ser modicados elc-
tricamente, la velocidad de escritura siempre es mucho
ms lenta que la velocidad de lectura, pudiendo requerir
1.2 Uso para almacenamiento de datos voltaje excepcionalmente alto, movimiento de jumpers
para habilitar el modo de escritura, y comandos especia-
Como la ROM no puede ser modicada (al menos en la les de desbloqueo. Las memorias Flash NAND logran la
antigua versin de mscara), solo resulta apropiada para ms alta velocidad de escritura entre todos los tipos de
almacenar datos que no necesiten ser modicados duran- memoria ROM reprogramable, escribiendo grandes blo-
te la vida de este dispositivo. Con este n, la ROM se ha ques de celdas de memoria simultneamente, y llegando
utilizado en muchos ordenadores para guardar tablas de a 15 MB/s. La RAM tiene una capacidad mxima de 128
consulta, utilizadas para la evaluacin de funciones mate- MB UCV.
mticas y lgicas. Esto era especialmente eciente cuan-
do la CPU era lenta y la ROM era barata en comparacin
con la RAM. 3 Vase tambin
Memoria de acceso aleatorio (RAM)
1.3 Contenido en un ROM
EPROM
Dentro de la memoria ROM se encuentran tres pequeos
Memoria EPROM
programas: el BIOS, el SETUP y el POST. El BIOS es
un programa de slo lectura cuya funcin principal es ac- Memoria EEPROM
tuar como intermediario entre los recursos del Hardware
y Software. Memoria ash
La funcin del POST es realizar una prueba inicial del Emulador
Hardware crtico del sistema. Cuando se presiona el bo-
tn de encendido de un PC, el primer proceso que se lleva Extensible Firmware Interface (EFI)
a cabo es el POST. Si todo funciona correctamente, el sis-
tema sigue su proceso habitual que culmina con la carga
del sistema operativo. Si por el contrario, algunos de los
dispositivos crticos no pasa la prueba POST, el sistema
se detiene en esa instancia e informa a travs de un unos
mensajes sonoros cul es el error, el BIOS tiene un siste-
3

4 Origen del texto y las imgenes, colaboradores y licencias


4.1 Texto
Memoria de solo lectura Fuente: https://es.wikipedia.org/wiki/Memoria_de_solo_lectura?oldid=97932102 Colaboradores: Centeno,
Mac, Joseaperez, Moriel, JorgeGG, Pilaf, Vanbasten 23, Sanbec, Zwobot, Ecelan, Dodo, Truor, Tano4595, Jsanchezes, Jarl, Chalisimo5,
Geom, FAR, Xuankar, Airunp, Yrithinnd, Taichi, Emijrp, Rembiapo pohyiete (bot), Magister Mathematicae, RobotQuistnix, Chobot,
FlaBot, Dangarcia, YurikBot, Museo8bits, Icvav, GermanX, Ferbr1, Eloy, Baneld, Morza, Maldoror, Siabef, The worst user, Paintman,
Aleator, BOTpolicia, CEM-bot, Laura Fiorucci, Roblespepe, Torquemado, Nuen, Rastrojo, Antur, FrancoGG, Thijs!bot, Bilbo-b, Roy-
Focker, Botones, Gngora, Jurgens~eswiki, Eiderheros, JAnDbot, Jugones55, Soulbot, OceanO, Kved, Mansoncc, Beta15, Cristianuz12,
CommonsDelinker, TXiKiBoT, Mercenario97, Netito777, Carturo222, Fixertool, Bedwyr, Plux, Jorge C.Al, Manuel Trujillo Berges,
DonBarredora, Zyder, AlnoktaBOT, Cinevoro, RaizRaiz, Technopat, Queninosta, Josell2, Matdrodes, Elabra sanchez, Anaeulalia, Black-
Beast, AlleborgoBot, Muro Bot, C h a n-Wiki, Edmenb, Gh05t2k, BotMultichill, SieBot, Ctrl Z, Loveless, Rigenea, Miguel5526, Dark,
BOTarate, Marcelo, Mel 23, Manw, Fede Threepwood, Prietoquilmes, Marcecoro, HUB, Farisori, PixelBot, Gonza 22, Leonpolanco, Ale-
jandrocaro35, Pablo323, Alecs.bot, Petruss, Poco a poco, Alexbot, TheNava00, BodhisattvaBot, MiniEnE, SilvonenBot, Camilo, UA31,
Shalbat, AVBOT, David0811, A ver, MastiBot, Angel GN, NicolasAlejandro, Diegusjaimes, Lasusirexula, Arjuno3, Saloca, Luckas-bot,
Bifus, Luzbelito92, Ptbotgourou, Jmrebes, Luigidakid, Correal95, Ca96, Komodoloiu, Nixn, XZeroBot, ArthurBot, SuperBraulio13, Xq-
bot, Jkbw, Ricardogpn, Igna, JorgeEA7, Botarel, Dqueijo, RubiksMaster110, Panderine!, TiriBOT, Jcdy, TobeBot, Halfdrag, Daveyba,
PatruBOT, Mr.Ajedrez, Nachosan, EmausBot, AVIADOR, HRoestBot, Sorancio, Gonano, Grillitus, Elas, Lolo23, Jorgeaber, Waka Waka,
WikitanvirBot, Tokzu, Antonorsi, KLBot2, Travelour, Carliitaeliza, Santga, Osiris, MahdiBot, Helmy oved, Makecat-bot, Miguelangel21,
Syum90, U-Alex, WBritten, Lautaro 97, Balles2601, Joaquin1822, Saectar, Facundopaez09, Jarould, Bruno Rene Vargas, Crystallizedcar-
bon, 4lextintor, Xt914, Mara Minetti, NinoBot, Fernando2812l, Ks-M9, IsaacS123.4, Dori1002, Porke existo, Mehrschichtverbundrohr y
Annimos: 319

4.2 Imgenes
Archivo:Commons-emblem-question_book_orange.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png 1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question book.svg' src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
Archivo:D23128C_PROM.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/b/b9/D23128C_PROM.jpg Licencia: CC-
BY-SA-3.0 Colaboradores: Bill Bertram Artista original: Bill Bertram
Archivo:Eprom.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/3/39/EPROM_Intel_C1702A.jpg Licencia: CC-BY-SA-
3.0 Colaboradores: Author personnal collection. Artista original:
Author : Poil 01:10, 17 Apr 2005 (UTC)

4.3 Licencia del contenido


Creative Commons Attribution-Share Alike 3.0

Vous aimerez peut-être aussi