martes, 11 de marzo de 2008

BSD, API, arquitectura MacOSX

Una API representa un interfície de comunicació entre components programari.

Es tracta del conjunt de cridades a certes biblioteques que oferixen accés a certs serveis des dels processos i representa un mètode per a aconseguir abstracció en la programació, generalment (encara que no necessàriament) entre els nivells o capes inferiors i els superiors del programari. Un dels principals propòsits d'una API consisteix a proporcionar un conjunt de funcions d'ús general, per exemple, per a dibuixar finestres o icones en la pantalla. D'aquesta forma, els programadors es beneficien dels avantatges de la API fent ús de la seva funcionalitat, evitant-se el treball de programar tot des del principi. Les APIs així mateix són abstractes: el programari que proporciona una certa API generalment és cridat la implementació d'aquesta API




DesktopBSD és un sistema operatiu lliure basat en UNIX que fa servir el nucli BSD (que inicialment es va desenvolupar a la Universitat de Berkeley). Una dada interessant és que el nucli del MacOSX és un port del nucli BSD (sí, com ho sentiu).

A l’igual que amb el nucli Linux trobem diferents distribucions, amb el nucli BSD passa una cosa semblant. La versió més coneguda i respectada és FreeBSD, però potser no és la més fàcil de fer servir. DesktopBSD soluciona gran part d’aquests problemes: amb més de 16000 paquets disponibles i un gestor dels mateixos prou eficient, és una opció molt bona si es vol provar BSD.

L’equip de desenvolupament ha presentat fa uns dies la versió final de DesktopBSD 1.6. Una versió que ve amb un nombre important de noves característiques i millores respecte a versions anteriors. Està basada en FreeBSD 6.3 RC2 i fa servir l’escriptori KDE 3.5.8. Els canvis més importants són:

* S’ha inclòs X.org 7.3
* Ja es pot provar amb un Live CD/DVD
* Suport per a actualitzacions entre diferents versions de DesktopBSD (de la mateixa manera que es pot fer amb ubuntu)
* S’ha millorat el gestor de paquets
* Suport per a processadors amb més d’un nucli
* Els controladors d’NVIDIA s’inclouen per defecte

I altres canvis que podeu veure a les notes de la publicació. A mode de “cultureta general sobre el programari lliure”, els sistemes BSD tenen la llicència lliure del mateix nom (BSD) que és diferent de la que tots coneixem com a GPL (la del nucli linux i de la majoria d’aplicacions lliures amb les quals treballem dia a dia).

Un dels inconvenients que té aquesta llicència BSD és que no és tan restrictiva com ho és la GPL a l’hora de fer que els programes derivats siguen també BSD. Això ha permès que el nucli del Mac puga afegir pedaços que no siguen BSD i tancar finalment el nucli (tot i que durant un temps va estar obert).



Arquitectura del Mac OS X

El Mac OS X posseïx una arquitectura modular que es construïx a partir de quatre components bàsics: el sistema operatiu central Darwin, un conjunt d'estructures d'aplicacions, sistemes de gràfics basats en estàndards i la interfície d'usuari Aqua.

Aqua: és la interfície d'usuari creada per Apple para el Mac OS X; utilitza colors, transparències i animacions per a augmentar la funcionalitat i la coherència del sistema i de les aplicacions.

Estructures: el Mac OS X incorpora un conjunt d'estructures d'aplicacions que permet treballar amb desenvolupadors de diferents comunitats.

Cocoa és un conjunt d'estructures orientades a objectes dissenyat per a agilitar el desenvolupament d'aplicacions, ja que permet afegir potents interfícies d'usuari gràfiques de Aqua al programari UNIX existent i crear aplicacions completament noves des de zero.

Carbon està concebut per a simplificar la migració a aquells desenvolupadors que desitgen realitzar una transició de les seves aplicacions del Mac OS 9 al Mac OS X.

Java permet el desenvolupament i l'execució de programes multiplataforma Java 2 Edició Estàndard en Mac OS X, inclosos els quals estan programats amb Java Developer Kit (JDK) 1.4.1. * Gràfics: el sistema de gràfics del Mac US X es compon de tres potents tecnologies basades en estàndards que estan totalment integrades en el sistema operatiu i proporcionen serveis a nivell de sistema. Quartz 2D és una llibreria de generació de gràfics d'alt rendiment basada en l'estàndard multiplataforma PDF (Portable Document Format) d'Atovó. Permet visualitzar i imprimir gràfics i textos suavitzats d'alta qualitat i proporciona suport d'última generació per a les tipografies OpenType, PostScript i TrueType. OpenGL és l'estàndard del mercat per a visualitzar formes i teixidures tridimensionals. El Mac OS X incorpora una implementació totalment estandarditzada, optimitzada i integrada. El programari per a mitjans digitals QuickTime proveeix un entorn totalment estandarditzat per a crear, reproduir i generar vídeo (MPEG-4), àudio (AAC o Codificació d'Àudio Avançada) i imatges (JPEG 2000 i altres formats). * Darwin: sota la interfície de fàcil ús i els sorprenents gràfics del Mac US X subjeu Darwin, una base UNIX sòlida de codi obert construïda a partir de l'aplicació de tecnologies àmpliament contrastades menjo FreeBSD, Mach, Apatxe i gcc.

Darwin és un sistema operatiu complet, comparable a Linux o FreeBSD, en el qual pot utilitzar-se l'entorn de línies de comando, xarxa, llibreries i kernel amb el qual estan familiaritzats els usuaris d'UNIX.

No hay comentarios: