PDF de programación - Sistemas Operativos Libres y Propietarios: Comparación Directa

Imágen de pdf Sistemas Operativos Libres y Propietarios: Comparación Directa

Sistemas Operativos Libres y Propietarios: Comparación Directagráfica de visualizaciones

Publicado el 1 de Octubre del 2018
1.527 visualizaciones desde el 1 de Octubre del 2018
665,0 KB
9 paginas
Creado hace 8a (26/06/2015)
RACCIS 5(1), pp. 49-57, 2015



Revista Antioqueña de las

Ciencias Computacionales y la Ingeniería de Software



ISSN: 2248-7441



www.fundacioniai.org/raccis

[email protected]



ABSTRACT
When developers comparing open with proprietary code, which should be a civilized debate
often degenerates into a flame war. This paper presents a report on code quality metrics that
have been collected from four major operating systems on an industrial scale is as follows:
FreeBSD, Linux, OpenSolaris and Windows Research Kernel (WRK). This article is not a
mysterious crime and it can be concluded as the main finding no significant differences in the
quality of the code of these systems.

RESUMEN
Cuando los desarrolladores comparan el código abierto con el propietario, lo que debería ser
un debate civilizado a menudo degenera en una llama de guerra. En este trabajo se presenta
un reporte sobre métricas de calidad del código, que se han recogido a partir de cuatro
grandes sistemas operativos a escala industrial: FreeBSD, Linux, OpenSolaris y Windows
Research Kernel (WRK). Este artículo no es un crimen misterioso y se puede concluir como
principal hallazgo que no hay diferencias significativas en la calidad del código de estos
sistemas.



Free and Licensed Operating Systems: Direct Comparison

Sistemas Operativos Libres y Propietarios: Comparación Directa

Samy Hagman1, Keshava Indiresh2
Universidad de Harvard. samyh(AT)harvard.edu1, kindi(AT)harvard.edu2

INFORMACIÓN DEL ARTÍCULO

Tipo
Investigación

Historia
Recibido: 10-03-2015
Correcciones:
Aceptado: 30-05-2015

Keywords
Open source, Software Engineering,
software metrics, software quality.

Palabras clave
Calidad del software, código abierto,
Ingeniería de Software, métricas del
software.

1. Introducción
Cuando los desarrolladores comparan el código abierto
con el software propietario, lo que debería ser un debate
civilizado a menudo degenera en una llama de guerra. Esto
no tiene que ser así, porque no hay mucho espacio para una
comparación objetiva con cabeza fría. Los investigadores
examinan la eficacia de los procesos de desarrollo de
código abierto a través de enfoques complementarios:

 Un método consiste en examinar la calidad del código y
sus atributos internos de calidad, tales como densidad
de comentarios o uso de variables globales [1].

© 2015 IAI. All rights reserved



 Por último, una serie de argumentos se basan
simplemente en revisar la escritura. Glass [5] identificó
esta tendencia en la publicidad asociada con la
aparición de Linux en la industria de TI.


Aunque en los años recientes muchos investigadores han
examinado artefactos y procesos de código abierto [6-13],
la comparación directa de sistemas de código abierto con
los productos propietarios correspondientes sigue siendo
un objetivo difícil de alcanzar. La razón es que es difícil
encontrar un producto propietario comparable a una
fuente abierta equivalente, y mucho más convencer al
dueño de la patente para que proporcione el código fuente
para una comparación objetiva. Sin embargo, el código
abierto del kernel de Solaris (Oracle) y la distribución de
grandes partes del código fuente del kernel de Windows a
instituciones de investigación, ha proporcionado una
oportunidad para
llevar a cabo una evaluación
comparativa entre el código fuente abierto y el código de
los sistemas desarrollados como software propietario.

En este trabajo se presenta un reporte sobre métricas de
calidad del código, que se han recogido a partir de cuatro
grandes sistemas operativos a escala industrial: FreeBSD,
Linux, OpenSolaris y Windows Research Kernel (WRK).
Esta investigación no es un crimen misterioso y se puede
concluir como principal hallazgo que no hay diferencias

49


 Otro enfoque implica examinar los atributos de calidad
externos del software que reflejan cómo se verá ante
los usuarios finales [2].


 Otros, en lugar del producto, ven el proceso y examinan
las medidas relacionadas con la construcción y el
mantenimiento del código, tales como cuánto código se
añade por semana o la rapidez con que se solucionan
los errores [3].


 Otro enfoque

consiste en discutir escenarios
específicos. Por ejemplo, Hoepman y Jacobs [4]
examinan la seguridad del software de código abierto
mirando cómo se filtra el código fuente desde máquinas
con Windows NT.



significativas en la calidad del código de estos sistemas.
Ahora que se sabe el final, se le sugiere al lector que siga
leyendo, porque en las siguientes secciones encontrará no
solamente cómo se llegó a esta conclusión, sino también
numerosas métricas de calidad de código para evaluar
objetivamente el software escrito en C, que también puede
aplicar a su código. Aunque algunos de estos indicadores
no se han validado empíricamente, se basan en directrices
de codificación generalmente aceptadas, por lo que
representan el consenso aproximado relativo que los
desarrolladores atribuyen al código deseable [14].

2. Antecedentes
Por décadas los investigadores han estado estudiando los
atributos de calidad del código de los sistemas operativos
[15, 16]. Particularmente, hay estudios comparativos de
sistemas operativos de código abierto [17, 18] y de
sistemas de código abierto y cerrado [1, 3, 19]. Una
comparación de atributos de mantenibilidad entre Linux y
varios sistemas operativos Berkeley Software Distribution
(BSD), encontró que Linux contenía más instancias de
módulo de comunicación a través de variables globales
(conocidas como acoplamiento común) que las variantes
BSD. Los resultados que se presentan aquí corroboran este
hallazgo para identificadores de archivos, pero no para
identificadores globales. Además, una evaluación de la
dinámica de crecimiento de los sistemas operativos
FreeBSD y Linux encontró que ambos crecen a un ritmo
lineal, y que son infundadas las pretensiones de los
sistemas de código abierto de que crecen a un ritmo más
rápido que los comerciales [18].

Un estudio realizado por Paulson y sus colegas [3] compara
patrones evolutivos entre tres proyectos de código abierto
(Linux, GCC y Apache) y tres comerciales no-divulgados.
Encontraron un ritmo más rápido de corrección de errores
y adición de características en los proyectos de código
abierto, algo que se esperaría para proyectos muy
populares como los que se examinaron. En otro estudio
centrado en la calidad del código [1], los autores aplicaron
una herramienta comercial para evaluar 100 aplicaciones
de código abierto, utilizando métricas similares a los
reportados aquí pero midieron sobre una escala que va
desde aceptar a re-escribir. Luego compararon
los
resultados con los puntos de referencia suministrados por
el proveedor de
la herramienta para proyectos
comerciales. Encontraron que solamente la mitad de los
módulos que examinaron serían considerados aceptables
por
las organizaciones que aplican normas de
programación basados en métricas de software. Otro
estudio del grupo [19] examinó la evolución de una medida
llamada índice de mantenibilidad [20] entre una aplicación
de código abierto y sus (semi) bifurcaciones propietarias.
Llegaron a la conclusión que todos los proyectos sufrieron
deterioro similar al índice de mantenibilidad en el tiempo.

Los cuatro sistemas comenzaron su vida independiente
entre 1991 y 1993. En ese momento los computadores
basados en microprocesadores que soportaban un espacio
de direcciones y gestión de memoria de 32 bits condujeron
a la explosión cámbrica de los sistemas operativos
modernos. Dos de ellos, FreeBSD y OpenSolaris, comparten



un ancestro común que se remonta a la versión 1BSD de
Unix de 1978. FreeBSD está basado en BSD/Net2, una
distribución del código fuente de Unix de Berkeley que fue
purgado desde el código propietario de AT&T.
Consecuentemente, mientras que tanto FreeBSD como
OpenSolaris contienen código escrito en Berkeley,
solamente OpenSolaris contiene código de AT&T. En
concreto, el código detrás de OpenSolaris remonta sus
orígenes a la versión de Unix de 1973, que fue el primero
escrito en C [21]. En 2005 Sun lanzó la mayor parte del
código de Solaris bajo una licencia de código abierto.

Linux fue desarrollado desde cero en un esfuerzo por
construir una versión más rica en características que la
orientada a la enseñanza de Tanenbaum, el sistema
operativo POSIX compatible con Minix [22]. Por lo tanto,
aunque Linux toma ideas prestadas de Minix y Unix, no se
deriva de su código [23].

Las raíces intelectuales de Windows NT se remontan a
DEC’s y VMS a través de la participación común de David
Cutler, ingeniero principal en ambos proyectos. Windows
NT fue desarrollado como respuesta de Microsoft a Unix,
inicialmente como una alternativa al OS/2 de IBM y más
tarde como un reemplazo al código base del Windows de
16 bits. Windows Research Kernel (WRK) incluye grandes
porciones del kernel del Windows de 64 bits, que Microsoft
distribuye para su uso en investigación [24]. El kernel está
escrito en C con algunas extensiones pequeñas. Se
excluyen del código del kernel los controladores de
dispositivo, el plug-and-play, la administración de energía
y los subsistemas DOS virtuales. Las partes que faltan
explican la gran diferencia de tamaño entre WRK y los
otros tres kernels.

Aunque los cuatro sistemas están disponibles en forma de
  • Links de descarga
http://lwp-l.com/pdf13681

Comentarios de: Sistemas Operativos Libres y Propietarios: Comparación Directa (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad