Programkatalog

Ett exempel på RISC OS-programkatalog - !Draw

En applikationskatalog är en gruppering av programvarukod , hjälpfiler och resurser som tillsammans utgör ett komplett programpaket men som presenteras för användaren som ett enda objekt .

De används för närvarande i RISC OS och ROX Desktop och utgör också grunden för distributionssystemet Zero Install . Liknande teknik inkluderar VMware ThinApp och NEXTSTEP / GNUstep / Mac OS X- konceptet med programpaket . Deras arv ligger i systemet för att automatiskt starta programvara lagrad på diskett Acorns tidigare 8-bitars micros som BBC Micro ( !BOOT -filen).

Genom att bunta olika filer på detta sätt kan verktyg för att manipulera applikationer ersättas med verktyg för att manipulera filsystemet . Applikationer kan ofta "installeras" helt enkelt genom att dra dem från ett distributionsmedium till en hårddisk och "avinstalleras" genom att ta bort applikationskatalogen.

Fast innehåll

RISC OS: Innehållet i programkatalogen !Draw
RISC OS: Innehållet i !Draws !Sprites22 -fil

För att stödja användarinteraktion med applikationskataloger har flera filer speciell status.

Applikationsbinärer

Att starta en applikationskatalog gör att den medföljande filen AppRun (ROX Desktop) eller !Run (RISC OS) startas. På RISC OS är detta vanligtvis en Obey-fil (ett RISC OS-kommandoskript) som allokerar minne och laddar OS-tilläggsmoduler och delade bibliotek innan applikationsbinären körs, vanligtvis kallad !RunImage . Under ROX Desktop är det inte ovanligt att det är ett skalskript som startar rätt systembinär om det är tillgängligt eller kompilerar en lämplig binär från källan på annat sätt. [ citat behövs ]

Hjälpfiler och ikoner

Både RISC OS och ROX Desktop tillåter användaren att visa hjälpfiler som är associerade med en applikationskatalog utan att starta applikationen. RISC OS förlitar sig på en fil i katalogen som heter !Help som startas som om användaren dubbelklickade på den när hjälp efterfrågas (och kan vara vilket format som helst som systemet förstår, men vanlig text och !Draw-format är vanliga), medan ROX Desktop öppnar programmets underkatalog Hjälp .

På liknande sätt kan anpassade ikoner för programkatalogen finnas i den – antingen .DirIcon (i valfritt bildformat som stöds) eller AppIcon.xpm under ROX Desktop, eller !Sprites och eventuellt !Sprites22 under RISC OS. RISC OS Filer laddar automatiskt dessa sprite-filer i frånvaro av en !Boot- fil, annars överlåts det till !Boot- filen att ladda de lämpliga ikonerna.

!Känga

RISC OS: !Draws !Boot-, !Run- och !Hjälpfiler

RISC OS-programkataloger kan innehålla en fil med namnet !Boot som exekveras av Filer antingen explicit via kommandot FilerBoot , eller när paketet först visas (såvida inte användaren höll kontrollen när han öppnade det Filer- fönstret, vilket förhindrar uppstart av program).

Detta gör att ett program kan utföra uppgifter som att registrera filtyper som stöds (genom att definiera deras namn, ställa in kommandoalias för att köra eller skriva ut dem och ladda lämpliga ikoner), eller välja att ladda olika ikoner som ASprites (ikoner med en alfakanal för RISC OS Välj), 5Sprites (ikoner med RISC OS 5-utseende) eller temaspecifika ikoner.

!Boot -filer är den mest populära spridningsvektorn för sådana RISC OS- virus som existerar (som det välkända Extend-viruset), även om de kan besegras genom att helt enkelt hålla ned Control .

!Boot- funktionen dupliceras inte av ROX Desktop.

RISC OS !Boot-systemkatalogen

Acorns tidiga maskiner gjorde det möjligt för ett medium att "startas" (köras automatiskt) genom att köra en fil som heter !BOOT om den fanns (denna åtgärd, "starta en skiva", ändrades med Shift och blev därför känd som shift-booting ). Detta utnyttjades i RISC OS-skivstrukturen genom att ha en programkatalog i roten på standardskivan som heter !Boot .

Den här applikationskatalogen exekveras (körs) när maskinen startar (om så konfigurerad), vilket gör att dess !Run-fil exekveras (dvs. $.!Boot.!Run i Acorn- sökvägssyntax ). Denna fil gör att olika filer exekveras, OS-moduler laddas, standardikoner laddas och filtyper definieras, och definierar ett antal standardvariabler genom vilka dess olika underkataloger nås. Således kan RISC OS:s hela startsekvens undvikas genom att bara hålla ned Shift.

Se även

Anteckningar

externa länkar