Sunteți pe pagina 1din 17

Universitatea Politehnica Bucureti

Facultatea de Electronic, Telecomunicaii i Tehnologia Informaiei












Sisteme de operare pentru Raspberry Pi















Conductor tiinific:
Conf. Dr. Ing. tefan Stncescu

Masterand: Ing. Ignat D. Mihai









2014
Capitolul 1 Microcalculatorul Raspberry Pi
1.1 Introducere n sistemele embedded
Un sistem embedded (integrat) este un computer cu o funcionalitate dedicat care face
parte dintr-un sistem electronic sau mecanic mai mare. Aceste sisteme prezint deseori
constrngeri de calcul n timp real. n comparaie, un computer de uz general precum computerul
personal (PC) este proiectat pentru a fi flexibil i pentru a ndeplini o gam mai larg de necesiti
ale utilizatorilor. Sistemele embedded controleaz multe dintre dispozitivele comune folosite n
ziua de astzi. [1]



Figura 1: Microcontrolerul Intel 8008, unul dintre strmoii microcontrolerelor [5]

Majoritatea sistemelor embedded moderne au la baz un microcontroler (o unitate central
de procesare cu memorie integrat i/sau interfee cu periferice figura 1) dar exist i sisteme
proiectate cu microprocesoare (avnd cipuri de memorie externe i circuite de interfaare cu
perifericele), n special n sisteme de complexitate ridicat. n ambele situaii, procesorul
(procesoarele) folosit poate varia de la procesoare de uz general la procesoare specializate pentru
anumite operaii sau procesoare proiectate special pentru aplicaia respectiv. O clas de
procesoare des utilizat de procesoare dedicate este clasa procesoarelor de semnal digital (DSP).
[1]
Caracteristica principal a sistemelor embedded este capacitatea de a se ocupa de o sarcin
anume. Avantajul acestei caracteristici const n faptul c proiectanii sistemului pot optimiza
designul pentru a reduce dimensiuniile i costul produsului i pentru a mbunti performanele i
sigurana produsului. Unele sisteme, ca de exemplu Raspberry Pi i Arduino, sunt produse n mas,
astfel beneficiind de avantajele economice aferente.
Gama de utilizare a sistemelor embedded variaz de la echipamente portabile precum
ceasuri digitale i playere MP3 pn la instalaii staionare de dimensiuni mari precum luminile de
trafic, controlul produciei n cadrul unei fabrici i sisteme de complexitate mare precum vehicule
hibride, aparate de imagistic medical i sisteme electronice de bord pentru aeronave.
Complexitatea sistemelor variaz de la o complexitate foarte mic, cu un singur cip de
microcontroler pn la complexiti mari, cu uniti multiple, periferice i reele nglobate ntr-un
asiu de dimensiuni mari. [1]




Figura 2: Multiple sisteme embedded (Arduino, Raspberry Pi, Beaglebone, etc.) [5]


1.2 Raspberry Pi Specificaii i evoluie

Trendul sistemelor embedded pentru publicul larg a fost iniializat de ctre Interaction
Ivrea, un institut de cercetare din Italia prin platforma de tip open-source Arduino, n 2005.
Arduino a reprezentat rampa de relansare a domeniului embedded, inspirnd apariia platformelor
cu cost redus de producie. Dintre aceste platforme, reamintim LaunchPad MSP430 de la Texas
Instruments, Wiring S, Picaxe-28X2, Netduino, TinyDuino, Raspberry Pi, Beaglebone (figura 2)
etc. [5]
n prezent, exist o gam larg de plci de dezvoltare embedded optimizate pentru
numeroase aplicaii. Un criteriu de selecie a plcii potrivite este complexitatea aplicaiei. Dac
aplicaia necesit comunicarea simpl cu periferice (senzori, etc.), atunci plcile cu microcontroler
Arduino, Netduino, Wiring S, etc. reprezint soluia optim. Pentru aplicaii de complexitate
crescut, care necesit puterea de calcul al unui procesor ARM pentru a rula aplicaii Linux,
alegerea potrivit este un computer pe o singur plac (SBC Single Board Computer). Dintre
acestea reamintim Beaglebone i Raspberry Pi.
Apariia microcalculatorului Raspberry Pi n anul 2012 a adus domeniul embedded la un
nou nivel. Acesta ofer un mediu facil pentru nvarea programrii i dezvoltarea de proiecte
hardware la un pre redus.
Dimensiunile acestuia sunt comparative cu cele ale unui card bancar (85.60 mm
53.98 mm) i a fost creat de ctre fundaia britanic The Raspberry Pi Foundation cu intenia
de a promova nvarea programrii n coli. Succesul comercial a acestuia a venit pe fondul unui
pre redus de vnzare raportat la performanele oferite comparativ cu alte modele existente pe pia
(pcDuino de la LinkSprite, APC de la VIA, Cubieboard de la CubieTech, etc.) [2]



Figura 3: Microcalculatorul Raspberry Pi [2]

Raspberry Pi este compus dintr-un SoC fabricat de Broadcom, model BCM2835, care
include un procesor de tip ARM1176JZF-S, funcionnd la 700 MHz (printr-o setare din firmware,
acesta este capabil s funcioneze la 1GHz), un GPU VideoCore IV i 256 MB de memorie RAM
pentru revizia 1, respectiv 512 MB de memorie RAM pentru revizia 2. Acesta nu conine un hard
disk sau o unitate SSD, folosind n schimb un card de memorie flash SD pentru boot-are i stocare
pe termen lung. n prezent exist pe pia dou modele: modelul A, care conine un singur port
USB i nu are conectivitate Ethernet (figura 4) i modelul B, care vine dotat cu dou porturi USB
i conectivitate Ethernet (figura 3). Modelul A este conceput pentru dezvoltarea aplicaiilor cu
limitare de curent electric (quadcopter, robot, etc.) care nu necesit comunicare prin Ethernet. [2]



Figura 4: Modelul A (stnga) n comparaie cu modelul B (dreapta) [2]

1.3 Arhitectura sistemului Raspberry Pi

Figura 5 reprezint o trecere n revist a conexiunilor interne din Raspberry Pi modelul B.
Aceasta reprezint digrama bloc a microcalculatorului. Blocul I/O include interfaa GPIO, interfaa
DSI pentru conectarea unui monitor extern cu interfa compatibil (pentru care nc nu au fost
dezvoltate driver-e compatibile), interfaa CSI pentru conectarea unei camere de filmat/fotografiat
i interfeele S-Video i HDMI pentru conectarea unor dispozitive de afiare externe (figura 6). [2]

Figura 5: Diagrama bloc a Raspberry Pi model B [2]




Figura 6: Intrrile i ieirile plcii Raspberry Pi [2]


GPIO (General Purpose Input/Output) este un pin de pe un cip a crui comportament (de
intrare sau de ieire) poate fi controlat prin programare de ctre utilizator la rulare. Acest pin nu
are un scop special definit i de obicei este nefolosit. Ideea din spatele GPIO este de a da
posibilitatea unui designer de sisteme integrate de a crea circuite digitale folosind o serie de astfel
de pini i cteva linii de control disponibile pe cip n detrimentul crerii de circuite digitale
dedicate adiionale. Pinii GPIO sunt folosite n cipuri (circuite integrate, SoC, FPGA, etc.), cipuri
multifuncionale (codec-uri audio, manageri de putere, cartele video, etc.), sisteme pentru aplicaii
integrate (Raspberry Pi, Arduino, BeagleBone, etc.) n care sunt folosii pentru a citi valori de la
senzori de mediu (infrarou, temperatur, orientare, accelerare, .a.m.d.), pentru a controla motoare
n curent continuu, ecrane LCD sau LED-uri, etc. [12]
Pe plcua Raspberry Pi exist 26 de pini grupai n acelai bloc numit P1 (figura 7). Dintre
acetia, 8 sunt pini GPIO, restul fiind folosii pentru alte protocoale de comunicaii (IC, SPI,
UART) i pentru alimentare la 3.3V, 5V i respectiv masa circuitului GND (0V). Nivelul de
tensiune disponibil pe pinii GPIO este de 3.3V, acetia fiind intolerani la 5V. [2]



Figura 7: Blocul P1 i ordinea pinilor GPIO

Toi pinii GPIO pot fi reconfigurai pentru a asigura funcii alternative, SPI, PWM, IC i
altele. Doar pinii GPIO 14 i 15 pot fi asignai pentru funcia alternativ de UART, avnd
posibilitatea de a-i reasigna ctre funcia GPIO pentru a asigura un numr de 17 pini GPIO. Fiecare
funcie este detaliat n fia tehnic a cipului BCM2835. Fiecare pin GPIO este capabil de
schimbri ale semnalului n nivelul maxim/minim i de executarea ntreruperilor. Histerezisul pe
intrare al pinilor GPIO poate fi de tip pornit/oprit, rata de cdere poate fi rapid sau limitat iar
curentul de surs i cel absorbit poate fi configurat de la 2mA pn la 16 mA. Aceste proprieti se
aplic tuturor celor 26 de pini ai blocului P1. [2]
Configuraia pinilor GPIO din blocul P1 este afiat n tabelul din figura 8.



Figura 8: Configuraia pinilor GPIO [2]

1.4 Sisteme de operare disponibile pentru Raspberry Pi

De la lansarea sa, tot mai multe sisteme de operare au fost dezvoltate pentru a fi
compatibile cu arhitectura Raspberry Pi. Dintre acestea amintim Raspbian (o variant adaptat a
sistemului de operare Debian Wheezy), RaspBMC (un firmware adaptat pentru aplicaii
multimedia), Pidora (o variant a cunoscutului sistem Fedora), RISC OS (un sistem de operare
derivat din UNIX), Gentoo Linux, FreeBSD, NetBSD, Plan 9, Slackware Linux, .a.m.d. [3]
n general, orice kernel derivat din Linux este compatibil cu arhitectura hardware a
Raspberry Pi. Astfel, Raspberry Pi suport si versiuni neoficiale pentru platform ale sistemelor de
operare Android i Firefox OS.
Alegerea unui sistem de operare pentru Raspberry Pi poate avea numeroase criterii. Unul
dintre acestea este aplicaia pentru care este utilizat microcalculatorul. Aplicaiile curente includ
domenii precum domeniul multimedia, robotica, servere de putere redus, .a.m.d., pentru fiecare
existnd sisteme de operare optimizate. [4]
Astfel, pentru aplicaii multimedia (sisteme de home entertainment, console de jocuri, etc.),
sistemele de operare recomandate sunt RaspBMC, OpenELEC, XBMC. Pentru aplicaiile de
robotic, cele mai utilizate sisteme sunt Raspian, datorit pachetului mare de aplicaii
precompilate, util n astfel de aplicaii, RISC OS, Plan 9, etc. [4]
Pentru gestionarea unui server de putere redus, numeroi utilizatori au optat pentru Pidora
i Raspian, datorit stabilitii sistemelor i a pachetelor bogate de aplicaii. [4]



Figura 9: Interfaa tool-ului de recovery pentru Raspberry Pi, care ofer mai multe opiuni pentru
sistemul de operare [2]











Capitolul 2 Sisteme de operare

Majoritatea sistemelor de operare disponibile oficial sau neoficial pentru platforma
Raspberry Pi sunt derivate din sistemul de operare Linux, creat de Linus Torvals la nceputul
anilor 1990. Gama mare de programe i sisteme de operare care au ca nucleu Linux se datoreaz
faptului c proiectul Linux este de tip GNU GPL (General Public License), ceea ce d caracterul
open-source al proiectului. Astfel, a fost posibil apariia unor programe consacrate precum
GNU Compiler Collection (GCC). [6] [7]
Toate sistemele de operare au la baz aceiai arhitectur a kernelului datorit derivrii lor
din Linux. Arhitectura de baz a sistemelor de operare poate fi simplificat prin figura urmtoare:



Figura 10: Privirea de ansamblu asupra sistemului Linux [6]

Sistemul de operare este mprit n dou spaii: spaiul utilizatorului i spaiul kernelului.
n spaiul utilizatorului se desfoar aplicaiile de utilizator care comunic cu spaiul kernelului
prin interfaa de apel de sistem (System Call Interface). Comunicarea cu SCI se realizeaz prin
utilizarea librriei GNU C (glibc). Aceasta ofer, de asemenea, mecanismul de tranziie ntre
spaiul utilizatorului i spaiul kernelului. Acest lucru este important deoarece cele dou spaii
ocup spaii de adres diferite protejate. n timp ce fiecare proces din spaiul utilizatorului ocup
propriul spaiu de adres virtual, kernelul ocup un singur spaiu de adrese. [6] [7]
Figura urmtoare reprezint o privire mai amnunit asupra kernelului propriu-zis.



Figura 11: Perspectiv arhitectural asupra kernelului [6]

Elementele care se regsesc n arhitectura de kernel prezentat sunt [6]:
Interfaa de apel de sistem (System Call Interface) un strat care ofer mijloace pentru
apelul funciilor de sistem din spaiul utilizatorului n kernel
Managementul procesului (Process Management) un mecanism care se focuseaz pe
execuia proceselor
Managementul memoriei (Memory Management) eficientizeaz utilizarea memoriei (n
pagini), att pentru memoria fizic, ct i pentru cea virtual
Sistemul de fiiere virtuale (Virtual File System) ofer un strat de schimbare ntre SCI i
sistemele de fiiere suportate de ctre kernel
Stiva de reea (Network Stack) urmrete o arhitectur stratificat modelat dup
protocoale (IP, TCP, UDP, etc.)
Driverele dispozitivelor (Device Drivers) o list de drivere precompilate a celor mai
ntlnite dispozitive (drivere generice)

Kernelul de Linux ofer numeroase avantaje precum portabilitate, eficien, suportul pentru
numeroase protocoale de comunicaie (TCP/IP, SCTP, etc.), posibilitatea de modificare a
kernelului n funcie de aplicaie i/sau dorinele utilizatorului, .a.m.d. [6]
Sistemele de operare tratate n continuare sunt Raspian i RaspBMC, derivate din Debian,
care are la baz kernelul Linux, Arch Linux ARM i RISC OS, dezvoltat de ctre Acorn
Computers, optimizat pentru procesoare de tip RISC (procesor cu set redus de instruciuni),
caracteristic i a procesorului microcalculatorului Raspberry Pi, ARM1176JZF-S.

2.1 Raspian

Raspian este un sistem de operare gratuit optimizat pentru setul de instruciuni al
arhitecturii ARMv6, pe care se bazeaz microcalculatorul Raspberry Pi. Acesta deriv din sistemul
de operare Debian 7 Wheezy. Numele Raspian reprezint un joc de cuvinte dintre Raspberry
i Debian. Acest sistem de operare ofer peste 35000 de pachete software precompilate i uor de
instalat, optimizate pentru a rula pe hardware-ul ARM11 al Raspberry Pi. Pachetul de baz
Raspian conine un mediu de lucru LXDE, managerul de ferestre Openbox, browser-ul web
Midori, instrumente de dezvoltare software (IDLE, Scratch, etc.) i exemple de coduri surs pentru
funcii multimedia. [8]
Sistemul de operare Raspian este un sistem de tip hard-float, adic acesta opereaz n
virgul mobil prin emulare hardware. Astfel, nu se ofer suport pentru folosirea blocului de
procesare vectorial n virgul mobil. [2] [8]


Figura 12: Interfaa Raspian
Sistemul de operare Debian pentru arhitecturi ARM este compilat pentru setul de
instruciuni ARM versiunea 4. Arhitectura de tip hard-float Debian este compilat pentru ARMv7.
Arhitectura procesorului ARM al lui Raspberry Pi este de tip ARMv6. Tehnic, Raspian este
conceput cu setrile de compilare ajustate pentru a produce cod n virgul mobil emulat hardware
optimizat pentru Raspberry Pi. Pentru a ajuta aceast optimizare, se mai folosesc i interfaa binar
de aplicaie n virgul mobil i arhitectura de microprocesor ARM pe 32 de bii cu funciile
arhitecturii ARMv6. [2] [8]
n versiuni mai recente ale Raspian, multe dintre elementele semnificative necesare ale lui
Debian Wheezy au fost portate pentru arhitectura ARMv6, dei distribuia oficial necesit
arhitectura ARMv7. Astfel, performana pentru aplicaii care folosesc operaii de aritmetic n
virgul mobil este crescut deoarece sistemele de operare precedente pentru Raspberry Pi
folosesc setri de tip soft float, mai puin eficiente, prin care operaiile aritmetice n virgul
mobil native pentru arhitectura ARMv6 sunt emulate software. [2] [8]
Sistemul de fiiere este standard pentru un sistem derivat din Linux. Acesta este de tip
ierarhic, mprit n directoare, dintre care reamintim printre cele mai importante [9]:
/bin n care se instaleaz programele de utilizator
/boot n care se afl fiierele necesare la pornire
/dev conine fiiere speciale care reprezint dispozitivele sistemului
/etc aici se regsesc fiierele de configurare a sistemului
/etc/init.d conine scripturile pentru pornirea serviciilor
/home directorul utilizatorului
/home/pi directorul utilizatorului pi (root)
/lib driverele i modulele kernel
/proc un director virtual care conine informaii legate de procesele care ruleaz i
de sistemul de operare
/sys un director special pentru Raspberry Pi care conine driverele pentru
dispozitivele hardware
/usr conine programe i date utilizabile de ctre toi utilizatorii
/usr/src sursele sistemului Linux
/var fiiere pentru procesare (similar unui buffer) i loguri de sistem

2.2 RaspBMC

RaspBMC este o distribuie minim bazat pe Debian care aduce funcionalitile
sistemului de operare pentru echipamente multimedia XBMC lui Raspberry Pi. Acesta este un
sistem de tip open-source, care suport conectiviti att prin cablu, ct i prin WiFi, cu o interfa
simpl i suport pentru redri 1080p. Sistemul ofer suport pentru HTTP, FTP, USB, SMB, NFS i
poate reda orice fiier video/audio/imagine. [10]
Sistemul folosete 3 partiii [10]:
/dev/mmcblk0p1, de tip fat32,
/dev/mmcblk0p2, de tip linux-swap,
/dev/mmcblk0p3, de tip ext4.

Partiia de tip ext4 este considerat ca fiind plin n momentul n care spaiul ocupat este
spaiul total minus 100 MB. Aceast partiie este partiia root a sistemului. Partiia de tip fat32
conine fiierele de firware i este montat la /boot pentru a emula o setare tradiional Debian care
stocheaz GRUB. [10]
Exist numeroase componente de shell care menin sistemul la zi. De exemplu, pentru
update-ul kernelului i a firmware-ului, exist scriptul upd_kernel.sh, .a.m.d.
Sistemul de fiiere inglobat este un sistem compatibil i386, pentru microprocesoare care se
bazeaz pe arhitectura Intel 80386. [10]
Kernelul i firmware-ul pentru RaspBMC au urmtoarele locaii n sistemul de fiiere [10]:
/opt/vc,
componente pentru butare precum start.elf i bootcode.bin,
modulele de kernel (/usr/lib/).

Exist o serie de diferene notabile ale kernelului RaspBMC comparativ cu versiunea
Raspberry Pi oficial:
performana
suport pentru module mbuntit
patch-uri LIRC
optimizri IO
optimizri ale planificatorului de task-uri
suport pentru virgul mobil de tip hard



Figura 13: Interfaa RaspBMC [10]

2.3 Arch Linux ARM

Arch Linux ARM reprezint o portare a sistemului Arch Linux pentru procesoarele ARM,
n particular pentru Raspberry Pi. Acest sistem ofer suport pentru seturile de instruciuni
ARMv5te soft-float i ARMv6 i v7 hard-float. Astfel, lista platformelor pe care se poate instala
sistemul este mrit: pentru ARMv5, se regsesc dispozitive de la Olimex (OLinuXino), OpenRD,
PogoPlug, Seagate (DockStar, GoFlex), SheevaPlug, TonidoPlug, ZyXEL (NSA), pentru ARMv6,
Raspberry Pi i PogoPlug, iar pentru ARMv7, Allwinner, Freescale (UDOO), Marvell, Samsung
(ODROID), TI (BeagleBoard), Xilinx (ZedBoard) i nVidia (TrimSlice). [11]


Arch Linux este un sistem al cror dezvoltatori realizeaz zilnic update-uri. Exist multiple
depozite (repository) ale sistemului, n funcie de necesitile utilizatorului [11][12]:
Varianta de baz (core), care conine toate pachetele necesare pentru a seta un sistem de
baz,
Extra, care include pe lang pachetul de baz, i alte programe i medii desktop,
Comunitate, care conine pachete create i votate de ctre comunitate, cu suficiente voturi
ct s fie considerate de ncredere,
Multilib, un depozit centralizat pentru utilizatorii x86 pe 64 de bii pentru a oferi suport de
aplicaii 32-bit ntr-un mediu 64-bit.
Exist numeroase kerneluri alternative pentru Arch Linux, n afara celui de Linux. Variante
oficiale includ i kernelul linux-lts (Long Term Support), pentru microprocesoare de arhitectur
i686 i x86 pe 64 de bii. [11][12]
Comunitatea Arch Linux a format grupul de kerneluri denumit AUR (Arch User
Repository) n care se regsesc kerneluri precum linux-bfs (pentru calculatoare cu mai putin de
4096 de nuclee i manager de tip BFQ I/O) i linux-git, care include sursele lui Linus Torvalds.
Arch Linux suport majoritatea sistemelor de fiiere, alegerea lor putnd fi fcut n funcie
de avantaje, dezavantaje i cerinele utilizatorului. Spre exemplu, sistemul ext2 (Second Extended
Filesystem) este un sistem matur de fiiere, stabil, dar are lipsuri n privina logrii activitii
fiierelor i a barierelor. Aceste lipsuri se resimt n cazul cderilor de tensiune sau a cderii
sistemului de operare, iar verificrile la repornire asupra partiiei root sau a partiiei /home pot fi de
durat mare. Aceste neajunsuri au fost corectate n variantele urmtoare, ext3 i ext4. Alte sisteme
de gestiune a fiierelor suportate sunt NTFS, ZFS, XFS, JFS, exFAT, btrFS, .a.m.d. Exist
numeroase utilitare disponibile pentru Arch Linux pentru a facilita utilizarea sistemelor de fiiere
precum e2fsprogs pentru ext2, ext3 i ext4, ntfs-3g pentru NTFS, .a.m.d. [11][12]



Figura 14: Interfaa Arch Linux [11]







2.4 RISC OS

RISC OS este un sistem de operare proiectat de Acorn Computers i lansat pe pia prima
dat n 1987. Acesta a fost proiectat pentru a rula n mod special pe microprocesoare de tip ARM,
de asemenea create de Acorn. Primul uz comercial al sistemului a fost pe seria de calculatoare
Archimedes. De-a lungul timpului, sistemul a mai fost folosit i n alte serii de computere de la
Acorn precum R line, RiscPC, A7000, .a.m.d. [13]
Dup 1998, dezvoltarea sistemului s-a separat de Acorn, continund sub companii precum
Castle Technology i regsindu-se n computere precum Iyonix i A9home. Din 2012, sistemul de
operare este meninut de ctre RISCOS Ltd i comunitatea RISC OS Open. [13]
Cele mai recente versiuni stabile ruleaz pe procesoarele RiscPC ARMv3/ARMv3, Iyonix
ARMv5 i Cortex-A8 ARMv7 (regsite n BeagleBoard i Touch Book). Dup lansarea lui
Raspberry Pi, a fost lansat i o versiune compatibil cu procesorul ARMv6 din SoC-ul plcii. [13]
Sistemul de operare este un sistem single user care folosete multitasking cooperativ.
Multitasking-ul cooperativ (CMT) mai este cunoscut i ca time-sharing (divizare n timp) i
reprezint mprirea timpului de execuie al CPU ntre toate procesele (task-urile) active din
sistemul de calcul. n timp ce majoritatea sistemelor de operare folosesc multitasking preemptiv
(PMT) i multithreading, RISC OS rmne un sistem CMT. Pentru c protecia memoriei
sistemului de operare nu este obligatorie, mai muli utilizatori au cerut trecerea la PMT. [13]
Kernelul sistemului RISC OS este de tip single-tasking (un singur task), CMT fiind oferit
de modulul WindowManager i poate controla intreruperile, serviciile DMA, alocarea memoriei i
afiarea video. [13]
RISC OS este creat din module care pot fi adugate i nlocuite. Modulele sunt accesate
prin ntreruperi software (SWI), similare cu apelurile de sistem din alte sisteme de operare. [13]
Numeroase sisteme de operare au interfee binare de aplicaie (ABI) definite pentru a
manevra filtre i vectori. Sistemul de operare ofer numeroase moduri prin care programatorul
poate intercepta i modifica operaiile ABI. Acest lucru simplific sarcina de a modifica
comportamentul, fie c este vorba de GUI sau mai adnc. Ca rezultat, exist o serie de programe
de utilizator care permit modificarea aspectului i comportamentului sistemului. [13]
Sistemul de fiiere este orientat pe volume: vrful ierarhiei fiierelor este un volum (pe disc
sau partajat prin reea) prestabilit prin tipul de sistem de fiiere. Pentru a determina tipul fiierului,
RISC OS folosete metadate n locul extensiilor de fiier. Metadatele reprezint date despre date.
Acestea ofer informaii despre diferite aspecte ale datelor, precum: modurile de creare a datelor,
scopul datelor, timpul i data crerii, autorul (creatorul) datelor, localizarea locului crerii n
reeaua de calculatoare, utilizri standard ale datelor. Pentru a mapa formate de date comune din
alte sisteme, RISC OS conine un modul special numit MimeMap. [13]
Dou puncte ( : ) sunt utilizate pentru a separa sistemul de fiiere de restul cii fiierului.
Rdcina (root) este reprezentat prin semnul dolarului ( $ ) i directoarele sunt separate prin punct
( . ). Extensiile care aparin altor sisteme de fiiere sunt afiate folosind un slash ( / ), spre exemplu
fiierul abc.txt devine abc/txt. [13]
Pentru exemplificare, ADFS::HardDisc4.$ este rdcina discului numit HardDisc4
care folosete sistemul de fiiere ADFS. [13]
Tipurile de fiiere specifice RISC OS pot fi prezervate n alte sisteme prin folosirea tipului
hexazecimal .xxx n numele fiierelor. Dac se folosete software multiplatform, tipurile de
fiiere pot fi utilizate pe alte sisteme prin renumirea atarii '/[extension]' n numele de fiier din
RISC OS. [13]
Sistemul de fiiere RISC OS poate utiliza fiiere similare cu imaginile de discuri. Astfel, se
pot manevra transparent arhive i fiiere similare, care apar ca directoare cu proprieti speciale.
Fiierele din interiorul fiierului imagine de disc apar ntr-o ierarhie care are ca rdcin arhiva
printe. Nu este necesar ca arhiva s conin datele ctre care refer; acestea pot fi legturi
simbolice ctre alte sisteme de fiiere aflate n reea, n care se afl datele respective. [13] [14]
Interfaa de programare a aplicaiei (API) pentru stratul abstract al sistemului de fiiere
folosete un offset de 32 de bii pentru fiiere, fcnd ca cel mai mare fiier singular lung de 4 GB
(pentru aproximativ 1 B). Totui, naintea versiunii 5.20, stratul de abstractizare al sistemului de
fiiere i multe dintre sistemele de fiiere native ale RISC OS au limitat suportul la 31 de bii (sub
2 GB), pentru a evita ntmpinarea unor extinderi negative a fiierelor cnd acestea sunt
reprezentate n complement fa de 2.



Figura 15: Interfaa RISC OS [16]

Versiunea portat a RISC OS pentru Raspberry Pi este o versiune n curs de dezvoltare,
care, n acest stagiu, este format din trei componente [14] [15]:
Un strat de abstractizare hardware pentru SoC-ul Broadcom BCM2835
O versiune modificat a kernelului care ofer suport pentru nucleele CPU ARMv6
Module adiionale de drivere precum VCHIQ, DWCDriver, etc.

Aceast versiune este funcional pe toate platformele Rasberry Pi dezvoltate pn n
prezent. Prin spaiul redus pe care l ocup n memorie, de aproximativ 6 MB, incluznd un sistem
de ferestre i cteva aplicaii de baz, idee pornit de la implementarea pe un procesor ARM2 de 8
MHz cu 512 KB memorie RAM din anii 1980, sistemul de operare RISC OS prezint avantaje
importante n domeniul embedded n care constrngerile spaiului de stocare i de procesare sunt
foarte mari. [15]









Capitolul 3 Comparatie intre sistemele prezentate [17]


Sistemele prezentate n cadrul acestei lucrri sunt majoritar derivate din Linux i astfel, au
proprieti similare. O comparaie ntre ele trebuie s in cont de criterii att obiective, ct i
subiective. Dintre criteriile obiective propuse, se regsesc dificultatea de punere n funciune a
sistemului (instalare), pachetul de aplicaii disponibil, gradul de integrare diverse aplicaii i
posibilitatea de dezvoltare a sistemului. Criteriile subiective sunt dependente de utilizator, printre
acestea regsindu-se criterii precum interfaa dintre sistem i utilizator i dificultatea de utilizare a
sistemului.
Pe baza primului criteriu, datorit numeroaselor documentaii disponibile pe Internet,
sistemele Raspian, RISC OS i RaspBMC au un grad redus de dificultate n ceea ce privete
instalarea, paii ce trebuie urmai n general fiind scrierea imaginii sistemului pe cardul SD,
inserarea n slotul SD de pe Raspberry Pi i bootarea normal a sistemului, cu configurrile
necesare. Instalarea sistemului ArchLinux prezint un grad de dificultate crescut, deoarece
utilizatorul trebuie s utilizeze un mediu de tip Terminal pentru a descrca, instala i configura
sistemul, acest lucru nefiind la ndemn unui utilizator comun. Dificultatea crescut de instalare
contrasteaz cu performana Arch Linux, unul dintre cele mai apreciate sisteme Linux.
La capitolul pachetelor de aplicae disponibile, liderul detaat este Raspian cu peste 35000
de aplicaii disponibile, deoarece Raspian provine din Debian, unul dintre cele mai utilizate i
apreciate sisteme de operare Linux. RaspBMC urmeaz dup, cu peste 20000 de aplicaii, pentru
c, dei i acesta deriv tot din Debian, sistemul se adreseaz n principal aplicaiilor multimedia,
restngnd numrul aplicaiilor folositoare din pachetul iniial. Pentru Arch Linux sunt disponibile
aproximativ 4600 de aplicaii, acestea fiind mai bine adaptate sistemului datorit strnsei legturi
din cadrul comunitii Arch. Date despre pachetele disponibile pentru RISC OS nu sunt disponibile
la data prezent.
De la lansare, Raspberry Pi este utilizat n tot mai multe aplicaii. Dintre acestea, se
regsesc aplicaii precum computer personal (desktop, laptop, tablet), aplicaii multimedia (centru
de divertisment, etc.), aplicaii embedded (robotic, sisteme inteligente, etc), .a.m.d. Astfel se pot
clasifica n funcie de aplicaie i sistemele disponibile.
Pentru utilizarea de tip computer personal, Raspian i Arch Linux sunt alegerile cele mai
potrivite, datorit pachetelor de aplicaii disponibile, a stabilitii sistemului i a interfeei facile cu
utilizatorul. Aceste sisteme au fost concepute pentru acest domeniu, corespondenele lor n
domeniul PC fiind deja consacrate. RISC OS este o alternativ bun, fiind dezavantajat de faptul
c portul Ethernet este dezactivat datorit instabilitii sistemului, iar activarea lui poate crea
probleme pentru utilizatorii nceptori. RaspBMC are ca aplicabilitate domeniul multimedia,
existnd astfel numeroase constrngeri la utilizarea n regim de computer personal.
Pentru aplicaiile embedded, sistemul Raspian ofer numeroase faciliti prin care se poate
utiliza interfaa GPIO a plcii Raspberry Pi, n limbajele C, Python, Perl, Java, etc. Astfel de
faciliti sunt oferite i de ctre RaspBMC, pentru a extinde sistemul multimedia oferit n direcii
aflate la alegerea utilizatorului. Dezavantajul acestor dou sisteme const n spaiul mare ocupat pe
mediul de stocare. De asemenea, utilizarea ntr-o aplicaie de tip embedded duce la o constrngere
a sistemelor, acestea fiind concepute n principal pentru aplicaiile menionate anterior. Arch Linux
ofer, de asemenea, un mediu stabil pentru embedded. Un potenial mare l prezint sistemul RISC
OS, datorit spaiului mic ocupat pe mediul de stocare i a procesrii CMT. Aplicaiile embedded
sunt singulare, n general, alte procese fiind redundante. Astfel, spaiul necesar este redus direct
proportional cu costurile iar procesarea este foarte rapid, datorit procesorului ARMv6.
Din punct de vedere al comunitii consacrate fiecrui sistem i a posibilitii de dezvoltare
a sistemului, Raspian i RISC OS au cele mai mari si dezvoltate comuniti, existnd numeroase
versiuni precompilate de kerneluri disponibile n funcie de aplicaia dorit i a dispozitivelor
hardware utilizate. Arch Linux prezint de asemenea o comunitate n cretere, iar versiuni ale
RaspBMC care extind aplicaia de sistem multimedia sunt deja disponibile.
Din punct de vedere al interfeei cu utilizatorul i a dificultii de utilizare, Raspian este
alegerea potrivit, datorit provenienei Debian, sistem consacrat pentru aceste criterii. Arch Linux
este asemntor la acest capitol, fiind mai configurabil i mai robust. RISC OS are o interfa
minimalist, bazat pe sistemul din anii 1980, iar ca utilizabilitate, utilizatorul necesit anumite
cunotine apriori.


Capitolul 4 Concluzii

Apariia microcalculatorului Raspberry Pi a reprezentat nceputul unui nou stagiu n
domeniul embedded. Pe lng aportul adus n educaie, conform cu scopul pentru care a fost creat,
Raspberry Pi a artat lumii informatice c este posibil crearea unui produs cu un raport cost-
calitate foarte bun, deschiznd calea pentru numeroase alte produse similare. Un produs de
referin pentru viitor este microcalculatorul Parallella (figura 16). [18]



Figura 16: Microcalculatorul Parallela [18]

Acest microcalculator este bazat pe cipurile multinucleu Epiphany dezvoltate de ctre
compania Adapteva. Cipurile Epiphany const ntr-o arie scalabil de procesoare simple RISC
programabile n C/C++, interconectate printr-o reea n cip rapid, ntr-o arhitectur format dintr-
o singur memorie comun unificat. [18]
Printre caracteristicile de baz a plcii, regsim [18]:
Unitatea central de procesare ARM A9 dual-core din seria Zynq-7000 (Z-7010 or Z-7020)
Un accelerator multinucleu Epiphany cu 16 sau 64 de nuclee
1 GB RAM
interfa de card MicroSD
2 x USB 2.0
4 conectori de expansiune de uz general
port Ethernet 10/100/1000
port HDMI
suport pentru Linux


Figura 17: Diagrama bloc a microcalculatorului Parallella [18]

Avnd dimensiunile de aproximativ 86x55 mm, comparabile cu Raspberry Pi, versiunea
final de 66 de nuclee va livra peste 90 de GFLOPS, fiind de dimensiunea unui card bancar i
consumnd aproximativ 5 W pentru o ncrcare tipic. n anumite aplicaii, Parallella va oferi
performane brute mai mari dect un server de ultim generaie mult mai costisitor, care consum
aproximativ 400 W. Preul estimativ al plcii este de 99 de dolari. [18]

Capitolul 5 Bibliografie

[1] - http://en.wikipedia.org/wiki/Embedded_system
[2] - http://en.wikipedia.org/wiki/Raspberry_Pi
[3] - http://elinux.org/RPi_Distributions
[4] - http://www.makeuseof.com/tag/7-operating-systems-you-can-run-with-raspberry-pi/
[5] - http://makezine.com/magazine/make-36-boards/which-board-is-right-for-me/
[6] - Anatomy of the Linux kernel History and architectural decomposition M. Tim Jones
[7] - http://www.ibm.com/developerworks/library/l-linux-kernel/
[8] - http://www.raspbian.org/RaspbianAbout
[9] - Getting Started with Raspberry Pi - Matt Richardson, Shawn Wallace
[10] - http://www.raspbmc.com/about/
[11] - http://archlinuxarm.org/platforms/armv6/raspberry-pi
[12] - https://wiki.archlinux.org/index.php/Table_of_Contents
[13] - http://en.wikipedia.org/wiki/RISC_OS
[14] - https://www.riscosopen.org/wiki/documentation/show/Hardware%20Abstraction%20Layer
[15] - http://www.raspberrypi.org/phpBB3/viewtopic.php?f=55&t=22093
[16] - https://hylobatidae.org/?action=articlelist&article_start=60
[17] - http://www.techradar.com/news/software/operating-systems/raspberry-pi-operating-systems-5-
reviewed-and-rated-1147941
[18] - http://www.adapteva.com/products/parallella/parallella/

S-ar putea să vă placă și