Furcă de resurse - Resource fork
Furca de resurse este o furculiță sau o secțiune a unui fișier de pe la Apple e clasic Mac OS sistem de operare , care a fost , de asemenea , reportate pentru moderne MacOS pentru compatibilitate, utilizate pentru a stoca date structurate , împreună cu datele nestructurate stocate în furca de date .
O furcă de resurse stochează informații într-un anumit formular, conținând detalii cum ar fi pictogramele bitmap-urilor, formele ferestrelor, definițiile meniurilor și conținutul acestora și codul aplicației ( codul mașinii ). De exemplu, un fișier de procesare a textului ar putea stoca textul în furculița de date, în timp ce stochează orice imagini încorporate în furculița resurselor aceluiași fișier. Furca de resurse este utilizată mai ales de executabile , dar fiecare fișier poate avea o furcă de resurse.
Sistemul de fișiere Macintosh
Conceput și implementat inițial de programatorul Bruce Horn , furca de resurse a fost utilizată în trei scopuri cu sistemul de fișiere Macintosh :
- A fost folosit pentru a stoca toate datele grafice pe disc până când acestea erau necesare, apoi preluate, desenate pe ecran și aruncate. Această variantă software a memoriei virtuale a ajutat Apple să reducă cerințele de memorie de la 1 MB în Apple Lisa la 128 KB în Macintosh.
- Deoarece toate imaginile și textul au fost stocate separat într-o furcă de resurse, acestea ar putea fi utilizate pentru a permite unui non-programator să traducă o aplicație pentru o piață externă, un proces numit internaționalizare și localizare .
- Poate fi folosit pentru a distribui aproape toate componentele unei aplicații într-un singur fișier, reducând dezordinea și simplificând instalarea și eliminarea aplicației.
Furca de resurse este implementată în toate sistemele de fișiere utilizate pentru unitățile de sistem de pe Macintosh ( MFS , HFS și HFS Plus ). Prezența unei furci de resurse facilitează stocarea unei varietăți de informații suplimentare, cum ar fi permiterea sistemului să afișeze pictograma corectă pentru un fișier și să o deschidă fără a fi nevoie de o extensie de fișier în numele fișierului. În timp ce accesul la furculița de date funcționează precum accesul la fișiere pe orice alt sistem de operare - alegeți un fișier, alegeți un offset de octeți, citiți unele date - accesul la furculița de resurse funcționează mai mult ca extragerea înregistrărilor structurate dintr-o bază de date . ( Microsoft Windows are, de asemenea, un concept de „ resurse ”, dar acestea nu sunt complet legate de resursele din Mac OS.)
Furca resurselor este uneori folosită pentru a stoca metadatele unui fișier, deși poate fi folosită și pentru stocarea datelor reale, așa cum a fost cazul fișierelor cu fonturi în sistemele de operare clasice Mac. Rețineți că sistemele de fișiere Macintosh au, de asemenea, o zonă separată pentru metadate distinctă fie de furculița de date, fie de resursă. Fiind parte a intrării în catalog pentru fișier, este mult mai rapid să accesați acest lucru. Cu toate acestea, cantitatea de date stocate aici este minimă, fiind doar marcaje temporale de creare și modificare, tipul de fișier și codurile creatorului, lungimile furcii și numele fișierului. Unele fișiere au doar o furcă de resurse. Aplicațiile clasice de 68k sunt un exemplu, în care chiar și codul executabil este conținut în resurse de tip „COD”. Binele ulterioare PowerPC stochează codul executabil în furculița de date.
Deoarece furcile de resurse sunt acceptate numai pe sistemele de fișiere HFS, HFS Plus și APFS, acestea nu pot fi utilizate pe sistemele de operare care utilizează alte sisteme de fișiere. În prezent, HFS este acceptat numai de sistemul de operare Macintosh, ceea ce înseamnă că numai mașinile care rulează Mac OS pot utiliza furculițe de resurse. Chiar și într-un sistem Mac OS, furcile de resurse nu pot fi utilizate dacă sistemul de fișiere Unix a fost instalat . În sistemul de fișiere HFS Plus, care este în prezent sistemul cel mai frecvent utilizat sub Mac OS, pot fi făcute setări pentru a permite altor furci, pe lângă furcile de date și resurse, să creeze o aplicație „multi-furcă”. Cu toate acestea, deoarece furcile pot face dificilă schimbul de fișiere cu alte sisteme de operare, această caracteristică nu este utilizată în mod obișnuit. Chiar și în macOS, furcile de resurse nu mai sunt folosite decât rar.
În prezent, macOS acceptă furculițele de resurse pe partajările Windows SMB prin crearea unui fișier ascuns cu caracterele „._” adăugate la începutul numelui fișierului, în același director cu fișierul furcă de date.
Identificatori de resurse
Fiecare resursă are un identificator OSType (o valoare de patru octeți) și un ID (un cuvânt semnat pe 16 biți ), precum și un nume opțional. Există tipuri de resurse standardizate pentru casetele de dialog (' ), imagini (' '), sunete (' ') - și chiar pentru binarele executabile (' ') care, până la apariția procesorului PowerPC , erau fără excepție stocate în resursă furculiţă. Subrutinele pentru redarea ferestrelor sunt stocate în propriul tip de resurse (' '), subrutinele pentru redarea meniurilor în ale lor (' ') și dacă există un tip de date despre care credeți că nu se potrivește cu niciuna dintre categoriile standardizate, puteți doar De asemenea, utilizați un tip propriu (de exemplu, ' ') - de fapt, orice patru caractere sau valoare pe 32 de biți pot servi ca tip de resursă. Acest aranjament le-a permis utilizatorilor să personalizeze cu ușurință nu numai aplicațiile individuale, ci și sistemul de operare în sine, folosind instrumente precum ResEdit pentru a modifica resursele unui fișier de aplicație sau oricare dintre fișierele de sistem.
DITLPICTsnd CODE WDEFMDEFJohn
În cadrul unei aplicații sau al altui cod, resursele pot fi încărcate pur și simplu utilizând o combinație de tip, ID sau nume, indiferent de modul și locul în care sunt stocate în furculița resurselor. Clientului i se returnează un Handle la resursa încărcată, care poate fi apoi accesat ca orice alte date bazate pe heap. Componenta sistemului de operare care facilitează acest lucru este Resource Manager . În plus față de abstractizarea detaliilor stocării datelor din datele în sine, Managerul de resurse aranjează, de asemenea, seturi de furci de resurse deschise într-un teanc, cu cel mai recent fișier deschis deasupra. Când încercați să încărcați o resursă, aceasta va arăta mai întâi în partea de sus a stivei, (poate furca resurselor documentului curent), apoi următoarea în jos (furca resurselor aplicației), apoi următoarea (furcele resurselor sistemului). Acest aranjament este foarte puternic - permite resurselor locale să înlocuiască mai multe pe cele globale mai jos - astfel încât o aplicație poate furniza propriile pictograme sau fonturi în locul celor de sistem standard, de exemplu. De asemenea, permite unei aplicații să încarce resurse din sistem utilizând același API ca orice altă resursă, indiferent de locul sau modul în care este stocată resursa - pentru aplicație, toate resursele sunt la fel de disponibile și ușor de utilizat. Sistemul rezervă ID-uri de resurse într-un anumit interval pentru a evita conflictele de resurse care decurg din aceasta. API-urile Resource Manager permit programatorului să manipuleze stiva și să modifice comportamentul de căutare.
Editarea furcilor de resurse
Deoarece furca resurselor poate fi editată cu un editor de resurse, cum ar fi ResEdit , poate fi utilizată pentru localizarea și personalizarea software-ului . În plus, majoritatea editorilor de resurse permit editarea vizuală a datelor. În macOS , este posibil să utilizați resurse atunci când dezvoltați o aplicație. Cu toate acestea, dacă aplicația poate fi necesară în UFS , este de asemenea posibil să o configurați astfel încât întreaga furcă de resurse să fie mutată în furca de date, utilizând setarea Fișier de resurse brute. În mediile de dezvoltare integrate distribuite gratuit de către Apple Inc. , care includ MPW și Instrumente Apple a dezvoltatorului , include un compilator numit Rez. Acesta folosește un limbaj dedicat, numit și Rez, care poate fi folosit pentru a crea o furcă de resurse prin compilarea codului sursă . Este inclus și un decompilator, DeRez, care poate fi folosit pentru a schimba o furcă de resurse în cod Rez.
În structura furcii de resurse, există o bucată de date numită „hartă de resurse” care stochează pozițiile articolelor de date de resurse. Aceasta poate fi utilizată pentru a permite accesul aleator la datele resurselor pe baza ID-urilor și numelor definite. Furca resurselor poate fi considerată ca fiind formată din două obiecte, harta resurselor și datele resursei în sine, dar de fapt fiecare tip de date este o structură ierarhică care stochează mai multe elemente de date. Formatul în care sunt stocate informațiile din datele despre resurse este definit pe baza tipurilor de informații, care sunt cunoscute ca „tipuri de resurse”. Datele despre resurse fac adesea referiri la alte tipuri de date.
În macOS, furculițele sunt denumite fișier /..namedfork/ forkname , de exemplu , furca resurselor fișierului IMG_0593.jpg este IMG_0593.jpg / .. namedfork / rsrc. lsComanda acceptă o -l@opțiune care listează Forks unui fișier.
Cum se accesează o furcă de resurse
Furcile de resurse apar ca atributul extins com.apple.ResourceFork.
Anterior, furcile de resurse erau accesate prin intermediul API - ului „Resource Manager” . Acest API este acum depreciat.
În cadrul API-ului depreciat:
- Când se accesează o furcă de resurse, datele care includ poziția de pornire și lungimea datelor de resurse și harta resurselor sunt citite din antet.
- Dacă a fost specificat un tip de resursă de citit, se efectuează o verificare pentru a vă asigura că tipul este prezent în lista de resurse și numărul de elemente de date care conțin acel tip și compensările acestora în lista de referință a resurselor din poziția de început a se găsește harta resurselor.
- Se găsește ID-ul resursei, compensarea numelui resursei, proprietățile resursei și compensarea datelor de la poziția de pornire a datelor resursei.
- Dacă datele resurselor cu ID-ul sau numele specificat sunt prezente în datele resurselor, se accesează compensarea obținută mai sus, se găsește lungimea datelor și toate datele stocate acolo sunt citite și returnate ca valoare returnată.
API-urile File Manager, cum ar fi, de PBOpenRF()asemenea , au permis accesul la furca de resurse brute; cu toate acestea, acestea ar trebui utilizate numai pentru aplicații precum copierea unui fișier - Apple avertizează cu tărie împotriva utilizării furcii de resurse ca „a doua furcă de date”.
Din interfața POSIX , furculița de resurse ar putea fi accesată ca filename/..namedfork/rsrcsau ca filename/rsrc; forma mai scurtă a fost depreciată în Mac OS X v10.4 și eliminată complet în Mac OS X v10.7 .
Tipuri de date într-o furcă de resurse
Cele mai mici elemente care alcătuiesc o furcă de resurse se numesc tipuri de date. Există mai multe tipuri de date. După ce se accesează o furcă de resurse, conținutul acesteia poate fi găsit citind-o în mod corespunzător pentru tipurile de date definite în prealabil. Plasarea definițiilor în cadrul programului, care să precizeze modul în care datele trebuie tratate, face posibilă stocarea resurselor numite resurse TMPL. Utilizarea acestei metode mărește vizibilitatea datelor atunci când sunt vizualizate cu un program precum ResEdit, simplificând editarea ulterioară. Deoarece platforma Macintosh provine de la procesoare bazate pe Motorola (68k și PPC), datele sunt serializate pe disc în format big-endian .
Următoarea este o listă a principalelor tipuri de date, în ordine alfabetică.
| Tipul de date | numele real | Descriere |
|---|---|---|
| BBIT | bit binar | Reprezintă un singur bit boolean (adevărat sau fals). În mod normal, numărul de BBIT trebuie să fie multiplu de 8. |
| BOOL | boolean | Reprezintă o valoare booleană. Este format din 2 octeți; 256 este adevărat, iar 0 este fals. |
| CHAR | caracter | Reprezintă un caracter de un octet. |
| CSTR | Șir C | Reprezintă un șir de formă utilizat în limbajul de programare C : un șir de octeți terminat cu nul . |
| DLNG | zecimal cuvânt lung întreg | Un cuvânt zecimal lung (număr întreg de 4 octeți). Reprezintă valori cuprinse între aproximativ - 2,1 miliarde și 2,1 miliarde. |
| HEXD | gunoi hexagonal | Indică faptul că datele de la această poziție până la capăt sunt hexadecimale. Acesta este utilizat pentru a reprezenta resurse de cod sau date comprimate. |
| HLNG | cuvânt lung hexazecimal | Aceste date sunt tratate ca o valoare hexazecimală de 4 octeți. Este folosit, printre altele, pentru a reprezenta numere întregi mai mari de 2,1 miliarde, cum ar fi valorile lungi nesemnate în C. |
| PSTR | Coarda Pascal | Reprezintă un șir Pascal, primul octet indicând lungimea șirului. |
| TNAM | introduceți numele | Un șir care reprezintă o valoare, cum ar fi un cod de creator , care are întotdeauna o lungime de 4 octeți. |
| RECT | dreptunghi | Reprezintă coordonatele colțurilor unui dreptunghi (sus, stânga, jos, dreapta). Întotdeauna lungime de 8 octeți. |
Tipuri majore de resurse
Codurile de tip de mai jos, la fel ca tipurile de date de mai sus, sunt utilizate ca identificatori de tip pentru mai mult decât furcile de resurse în sine: sunt folosite pentru a identifica fișierele în sine, pentru a descrie datele din clipboard și multe altele.
Rețineți că tipurile trebuie să aibă o lungime de 4 octeți, deci tipurile precum snd și STR au de fapt un spațiu (0x20) la sfârșit.
| Numele tipului de resursă | numele real | Descriere |
|---|---|---|
| alis | alias | Stochează un alias într-un alt fișier, într-o furcă de resurse a unui fișier al cărui bit de atribut „alias” este setat |
| ALRT | alerta | Definește forma unei casete de alertă a aplicației |
| APPL | cerere | Stochează informații despre aplicație |
| BNDL | pachet | Definește date precum o pictogramă tip fișier utilizată într-o aplicație |
| cicn | pictogramă color | Definește o pictogramă color utilizată în date |
| clut | masă de căutare a culorilor | Definește o paletă de culori utilizată în date |
| CNTL | Control | Definește detaliile unei componente poziționate într-o fereastră |
| COD | resursă de cod | Stochează codul mașinii pentru program |
| CURS | cursor | Definește forma unui cursor monocrom (pătrat de 8 × 8 biți) |
| DITL | lista de elemente de dialog | Definește o componentă a unei ferestre |
| DLOG | dialog | Definește forma unei casete de dialog pentru o aplicație |
| FREF | Fișier de referință | Definește un tip de fișier gestionat de o aplicație |
| hfdr | ajutor balon pictogramă | Definește conținutul și forma ajutorului balonului afișat atunci când cursorul se deplasează peste fișierul din Finder |
| icl8 | Lista de pictograme pe 8 biți | Definește o pictogramă afișată în Finder |
| icns | Lista de pictograme pe 32 de biți | Definește o pictogramă afișată în Finder |
| ICONĂ | pictogramă | Definește un element monocrom utilizat în date |
| drăguț | descrierea fisierului | Define o descriere a unui tip de fișier |
| MBAR | Bară de meniu | Definește un meniu și o bară de meniu pentru o aplicație |
| MDEF | definirea meniului | Definește un meniu pentru o aplicație. Poate fi, de asemenea, utilizat pentru a defini meniuri cu forme complexe, cum ar fi palete de culori. |
| MENIUL | meniul | Definește elementele de meniu dintr-o aplicație |
| MooV | film | Stochează un film QuickTime |
| deschis | deschis | Definește un tip de fișier pe care aplicația îl poate deschide |
| PICT | imagine | Stochează o imagine PICT conținută în fișier |
| PREF | preferinţă | Stochează setările de mediu pentru o aplicație |
| snd | sunet | Stochează un sunet utilizat în fișier |
| STR | şir | Stochează un șir sau date hexazecimale utilizate în fișier |
| STR # | listă de șiruri | Stochează mai multe șiruri utilizate în fișier |
| stil | stil | Definește informații despre stil, cum ar fi fontul, culoarea și dimensiunea textului |
| TEXT | text | Stochează text |
| TMPL | șablon | Definește formatul pentru datele resurselor |
| vers | versiune | Definește versiunea sau regiunea de utilizare a fișierului |
| WDEF | definirea ferestrei | Definește o fereastră pentru aplicație. De asemenea, pot fi definite ferestrele cu o formă nespecificată. |
| VÂNT | fereastră | Definește forma unei ferestre de aplicație |
Editori majori de resurse
- Reseditați
- Distribuit gratuit de Apple. Poate fi folosit pentru editarea vizuală a datelor despre resurse. Dacă structura datelor este cunoscută, poate afișa o gamă de diferite tipuri de date într-un format vizual. Nu rulează pe MacOS modern.
- Resorcerer
- Scump, dar popular, deoarece poate fi folosit pentru editarea vizuală a multor mai multe tipuri de date decât ResEdit.
- HexEdit
- Un editor binar, care de fapt este utilizat în mod normal mai mult pentru editarea furcii de date decât a furcii de resurse.
- ResKnife
- Editor open-source pentru Mac OS X ; nu se mai întreține.
- Rezycle
- Un instrument macOS care extrage resurse dintr-o furcă de resurse în fișiere binare separate, în timp ce convertește multe tipuri în formate adecvate pentru dezvoltarea modernă.
- resource_dasm
- Un extractor de resurse open-source pentru macOS, capabil, de asemenea, să convertească multe resurse în formate moderne.
Probleme de compatibilitate
Complexitatea programării cu furci de resurse a dus la probleme de compatibilitate atunci când se accesează alte sisteme de fișiere prin protocoale de partajare a fișierelor, cum ar fi AFP , SMB , NFS și FTP , atunci când se stochează în volume care nu sunt HFS sau când se transmit fișiere către alte sisteme în alte moduri ( cum ar fi prin e-mail). Protocolul AFP acceptă în mod nativ Resource Forks, astfel încât furcile de resurse sunt de obicei transmise acestor volume așa cum sunt și stocate de server în mod transparent către clienți. Protocolul SMB acceptă un sistem de metadate de fișiere similar cu furculițele Macintosh cunoscut sub numele de Fluxuri de date alternative (ADS-uri în continuare). macOS nu a acceptat în mod implicit stocarea furcilor de resurse în ADS-uri pe volume SMB până la Mac OS X v10.6 . În versiunile anterioare ale sistemului de operare, inclusiv versiunile actualizate de 10.6, această caracteristică poate fi activată cu o modificare param sau prin crearea unui fișier special.
Protocoalele de partajare a fișierelor în rețea, cum ar fi NFSv3 și FTP, nu au un concept de metadate de fișiere și, prin urmare, nu există nicio modalitate de stocare nativă a furcilor de resurse. Acest lucru este valabil și atunci când scrieți pe anumite tipuri de sisteme de fișiere locale, inclusiv UFS, și pe volume SMB unde suportul pentru fluxul de date alternativ nu este activat. În aceste cazuri, macOS stochează metadatele și furcile de resurse utilizând o tehnică numită AppleDouble , în care furca de date este scrisă ca un singur fișier, iar furca de resurse și metadatele sunt scrise ca un fișier complet separat precedat de o convenție de denumire „._”. De exemplu: ExampleFile.psd ar conține furculița de date, iar ._ExampleFile.psd ar conține furculița resurselor și metadatele.
Pot apărea probleme de compatibilitate, deoarece macOS va gestiona stocarea furcilor de resurse în mod diferit, în funcție de versiunea macOS, setările și tipul sistemului de fișiere. De exemplu, pe o rețea SMB cu un amestec de 10,5 și 10,6 clienți. Un client 10.6 proaspăt instalat va căuta și stoca furculițele de resurse pe un volum SMB în ADS-uri, dar clientul 10.5 (implicit) va ignora ADS-urile și va utiliza formatul AppleDouble pentru a gestiona furcile. Dacă un server de fișiere acceptă atât AFP, cât și NFS, atunci clienții care utilizează NFS vor stoca fișiere în format AppleDouble , în timp ce utilizatorii AFP vor stoca furca resurselor în mod nativ. În aceste cazuri, compatibilitatea poate fi uneori menținută prin forțarea clienților să utilizeze sau să nu folosească formatul AppleDouble .
Multe servere de fișiere care oferă asistență AFP nu acceptă în mod nativ furci de resurse pe sistemele lor de fișiere locale. În aceste cazuri, furculițele pot fi stocate în moduri speciale, cum ar fi fișiere numite special, directoare speciale sau chiar fluxuri de date alternative.
O altă provocare este păstrarea furcilor de resurse la transmiterea fișierelor folosind aplicații care nu conțin resurse de furcă sau cu anumite metode de transfer, inclusiv e-mail și FTP. Un număr de formate de fișiere, cum ar fi MacBinary și BinHex , au fost create pentru a gestiona acest lucru. Instrumente de sistem din linia de comandă SplitForksși FixupResourceForkspermit aplatizarea manuală și îmbinarea furcilor de resurse. În plus, un server de fișiere care caută să prezinte sisteme de fișiere clienților Macintosh trebuie să găzduiască furca resurselor, precum și furca de date a fișierelor; Serverele UNIX care oferă suport AFP implementează de obicei acest lucru cu directoare ascunse.
Aplicațiile mai vechi scrise cu Carbon API au o problemă potențială atunci când sunt portate pe Mac-urile Intel actuale . În timp ce Managerul de resurse și sistemul de operare știu cum să deserializeze corect datele pentru resurse comune precum „ snd ” sau „ moov”, resursele create folosind resursele TMPL trebuie să fie schimbate manual pentru a asigura interoperabilitatea fișierelor între versiunile PPC și Intel ale unei aplicații. (Deși harta resurselor și alte detalii de implementare sunt big-endian , Resource Manager de la sine nu are nicio cunoștință despre conținutul unei resurse generice și, prin urmare, nu poate efectua automat schimbarea de octeți.)
Până la apariția Mac OS X v10.4 , utilitarele standard din linia de comandă UNIX din macOS (cum ar fi cpși mv) nu respectau furcile de resurse. Pentru a copia fișiere cu furci de resurse, trebuia să folosiți dittosau CpMac și MvMac.
Alte sisteme de operare
Conceptul de manager de resurse pentru obiecte grafice, pentru a economisi memorie, a apărut în pachetul OOZE de pe Xerox Alto în Smalltalk-76. Conceptul este acum în mare măsură universal în toate sistemele de operare moderne. Cu toate acestea, conceptul de furcă de resurse rămâne specific Macintosh. Majoritatea sistemelor de operare au folosit un fișier binar care conține resurse, care este apoi „fixat” la sfârșitul unui fișier de program existent. Această soluție este utilizată, de exemplu, pe Microsoft Windows și soluții similare sunt utilizate cu sistemul X Window , deși resursele sunt adesea lăsate ca un fișier separat.
Windows NT NTFS poate sprijini furci (și astfel poate fi un server de fișiere pentru fișierele Mac), caracteristica nativ cu condiția ca suportul este numit un flux de date alternativ . Caracteristicile sistemului de operare Windows (cum ar fi fila Rezumat standard din pagina Proprietăți pentru fișierele non-Office) și aplicațiile Windows le utilizează, iar Microsoft a dezvoltat un sistem de fișiere de generație următoare care are ca bază acest tip de caracteristică.
Primele versiuni ale BeOS au implementat o bază de date în cadrul sistemului de fișiere, care ar putea fi utilizată într-o manieră similară cu o furcă de resurse. Problemele de performanță au dus la modificarea versiunilor ulterioare la un sistem de atribute complexe ale sistemului de fișiere. În cadrul acestui sistem, resursele au fost gestionate într-un mod oarecum mai analog cu Mac.
AmigaOS nu folosește fișiere bifurcate. Fișierele sale executabile sunt împărțite intern într-o structură modulară de piese mari ( hunk ) capabile să stocheze cod, date și informații suplimentare. În mod similar, fișierele de date și proiect au o structură de blocuri codificată în standardul IFF . Alte tipuri de fișiere sunt stocate în mod similar cu alte sisteme de operare. Deși nu este strict o furcă de resurse, AmigaOS stochează meta date în fișiere cunoscute sub numele de .infofișiere. .infofișierele pot fi identificate prin .infoextensie; de exemplu, dacă salvați un proiect pe un disc, vor fi salvate două fișiere MyProjectși MyProject.info. MyProjectar fi datele reale ale proiectului și MyProject.infoar conține pictograma proiectului, informații cu privire la programul care este necesar pentru a deschide proiectul (deoarece nu există nici o aplicație obligatorie în AmigaOS), opțiuni speciale ale proiectului și orice comentarii ale utilizatorilor. .infofișierele sunt invizibile pe desktop-ul Amiga ( Workbench ). Pictograma de pe desktop, preluată de la .infosine, este metafora interfeței prin care utilizatorul interacționează atât cu proiectul în sine, cât și cu .infofișierul său asociat . O casetă de dialog accesibilă făcând clic dreapta pe pictogramă permite utilizatorului să vadă și să modifice metadatele prezente în .infofișier. .infofișierele pot fi văzute ca fișiere individuale în interfața liniei de comandă sau un manager de fișiere . Clonele moderne AmigaOS ( AROS , MorphOS și AOS4 ) moștenesc structura (completată cu metadate) a .infofișierelor versiunilor mai vechi AmigaOS și pot accepta, de asemenea, fișiere grafice PNG standard ca pictograme bitmap în .infofișierele lor .
Sistemele de operare NeXT NeXTSTEP și OPENSTEP , succesorul lor, macOS și alte sisteme precum RISC OS au implementat o altă soluție. Sub aceste sisteme resursele sunt lăsate într-un format original, de exemplu, imaginile sunt incluse ca fișiere TIFF complete în loc să fie codificate într-un fel de container. Aceste resurse sunt apoi plasate într-un director împreună cu codul executabil și „datele brute”. Directorul (numit „ pachet ” sau „ director de aplicații ”) este apoi prezentat utilizatorului ca aplicație în sine. Această soluție oferă toate aceleași funcționalități ca și furca resurselor, dar permite resurselor să fie ușor manipulate de orice aplicație - nu este necesar un „editor de resurse” (cum ar fi ResEdit ). Din interfața liniei de comandă, pachetul pare a fi un director normal. Această abordare nu a fost o opțiune pe sistemul de operare clasic Mac , deoarece sistemul de fișiere ( MFS ) nu suporta directoare de catalog separate. Când suportul pentru fișiere de catalog a fost inclus în Mac OS, cu sistemul de fișiere HFS, furca de resurse a fost păstrată. MacOS păstrează API-ul clasic Resource Manager ca parte a bibliotecilor sale Carbon pentru compatibilitate inversă. Cu toate acestea, resursele în sine pot fi acum stocate în fișiere de date separate în sistemul de fișiere - Resource Manager ascunde acum această modificare de implementare din codul clientului.
Vezi si
Referințe
linkuri externe
- Descrierea formatului fișierului de resurse
- Apple Developer Resource Library: Resource Manager Reference
- Biblioteca de resurse pentru dezvoltatori Apple: gestionarea resurselor, pachete
- The Grand Unified Model - History of the resource fork, from folklore.org
- Rezycle - Instrument de extragere a resurselor
- Servicii Mac OS X - Un serviciu Mac OS X pentru a șterge furca resurselor unui fișier prin meniul contextual
- Ce se întâmplă cu furcile de resurse Mac OS X, atributele extinse, fluxurile NTFS și fișierele Dot-Underscore?
- Când salvez un fișier folosind protocolul SMB, ce informații sunt salvate în fișierele „punct-subliniere” (._)? Cum sunt stocate aceste informații pe un sistem de fișiere NTFS?