Amiga OS

Amiga OS

Desktop AmigaOS 3.9
Dezvoltator Commodore International (1.0-3.1)
Haage & Partner (3.5-3.9)
Hyperion Entertainment (3.1.4-3.2.1, 4.0-4.1)
Familia OS Amiga
Prima editie 23 iulie 1985
ultima versiune AmigaOS 4.1 Final Edition (PPC) actualizare 2
AmigaOS 3.2.1 (68K)  (
12 ianuarie 2021 ( PPC )
21 decembrie 2021 ( 68K ))
Ultima versiune de testare
Platforme acceptate Motorola 680x0 și PowerPC
Tipul de kernel microkernel atipic
Licență Proprietate
Stat dezvoltarea continuă
Anterior TRIPOS
Următorul AROS
site web amigaos.net
 Fișiere media la Wikimedia Commons

AmigaOS  este un sistem de operare pentru computere din familia Amiga , are un microkernel atipic . AmigaOS clasic este de obicei considerat ca o combinație a două componente: Kickstart și Workbench. Kickstart oferă o abstractizare din hardware-ul unic al Amiga și include: un planificator multitasking preventiv (Exec), un sistem de operare pe disc (AmigaDOS) și biblioteci GUI (Intuition). Workbench este o interfață grafică cu utilizatorul și este de obicei reprezentată de desktopul cu același nume sau de un alt manager de fișiere.

Prezentare generală

AmigaOS se bazează pe tehnologia bibliotecii partajate (fișiere cu extensia .library ), ceea ce îl face modular și extensibil. Bibliotecile sunt colecții de funcții, inclusiv cele care asigură funcționarea sistemului de operare în sine.

În acest sens, bibliotecile AmigaOS sunt similare cu tehnologiile de bibliotecă ale altor sisteme de operare , dar au și proprietăți de separabilitate și relatabilitate (soluția are avantajele și dezavantajele ei).

Inițial, s-a presupus că singura bibliotecă care are o adresă codificată în memorie și nu poate fi actualizată de către utilizator este exec.library la adresa 4 . Ulterior, dezvoltarea hardware-ului Amiga de către terți și falimentul Commodore Corporation a dus la apariția unor soluții ( acceleratoare și emulatoare ) care permit relocarea și actualizarea exec.library (așa-numitul „mecanism de umbrire”) ca bine. Această bibliotecă este nucleul AmigaOS.

Driverele AmigaOS (fișiere cu extensia .device ) sunt, de asemenea, biblioteci de funcții care gestionează apelurile periferice și specifice dispozitivului Amiga și au o interfață standard de interogare. Există, de asemenea, conceptul specific pentru AmigaOS de „ handler ” ( eng.  handler ) - un driver care are un nivel mai ridicat de abstractizare. Handler-urile oferă controlul asupra alocării resurselor Amiga și sunt procese care rulează atunci când AmigaOS pornește.

Unul dintre cei mai importanți handlere AmigaOS este gestionarea sistemului de fișiere . AmigaOS poate folosi orice sistem de fișiere pentru care a fost scris un handler. Această caracteristică este utilizată în CrossDOS  - o aplicație pentru schimbul de fișiere, de exemplu cu FAT - și analogii săi. Pentru AmigaOS, există handlere pentru toate cele mai comune sisteme de fișiere, precum și unele exotice. Următoarele gestionare de sisteme de fișiere sunt cele mai populare în rândul utilizatorilor: OFS , FFS , FFS2 , PFS , PFS2 , SFS .

De regulă, handlerii transmit la DOS numele dispozitivului asociat cu ei, dar există și excepții. De exemplu, Speak-handler (corespunzător dispozitivului SPEAK:) vă permite să controlați un sintetizator de vorbire software (similar cu implementarea OS/2 Warp și implementarea mai târziu Windows NT ) și este un exemplu de serviciu non-periferic.

AmigaOS nu ține seama de majuscule și minuscule în care este introdus numele dispozitivului (se obișnuiește să se utilizeze caractere majuscule), iar identificatorul dispozitivului este caracterul două puncte (:) după numele dispozitivului. După două puncte, pot urma informații suplimentare pentru handler, indicând obiectul și metoda de control. Pentru un handler de sistem de fișiere, aceasta este de obicei informații despre calea către fișier. Pentru alți handler, aceasta poate fi o indicație a fluxului I/O (de exemplu, SER: dispozitivul conectat la portul serial acceptă date despre bitrate, bit start/stop etc.).

Sistemele de fișiere își folosesc numerele de serie în sistem în numele dispozitivelor lor. De exemplu, dispozitivul DF0: este asociat în mod implicit cu prima unitate din sistem, iar DH0:  este asociat cu prima partiție a hard diskului.

În plus, manipulatorii de dispozitive pot comunica între ei pe termen nelimitat. În acest caz, calea către dispozitiv poate fi destul de „întortocheată”. Etichetele de volum ale dispozitivului sunt, de asemenea, considerate dispozitive. De exemplu, dacă discheta din unitatea DF0: are o etichetă de volum Workbench, atunci utilizatorul o poate accesa ca Workbench: LUN .

Dacă utilizatorul dorește să acceseze Bara de fișiere situată în directorul Foo de pe unitatea de lucru din unitatea DF0:, o poate scrie astfel:

DF0:Foo/Bar

sau cam asa:

Lucru: Foo/Bar

Cu toate acestea, aceste forme de notație nu sunt complet analoge. Ultima formă este folosită atunci când sistemul știe deja că discheta numită „Work” nu este orice dischetă din unitatea DF0: . Prin urmare, dacă încercăm să introducem o copie a dischetei noastre, dar cu o etichetă de volum diferită, în aceeași unitate DF0: și ne referim la aceasta ca Work:Foo/Bar, sistemul va detecta o eroare și va afișa un mesaj:

Vă rugăm să introduceți volumul „Work” în orice unitate

Aplicațiile AmigaOS au adesea nevoie să acceseze un fișier fără să cunoască locația acestuia (inclusiv numele dispozitivului și eticheta de volum): știu doar tipul acestuia, dacă fișierul este o bibliotecă, documentație, localizarea mesajelor programului etc. Această problemă este decisă la dispozitive logice standard de nivel asociate cu fișiere de anumite tipuri. Căutarea fișierului corespunzător se face în primul rând pe aceste dispozitive. În mod implicit, AmigaOS acceptă următoarele dispozitive logice:

Componentele AmigaOS

AmigaOS clasic este de obicei considerat ca o combinație a două componente: Kickstart și Workbench. Înainte de AmigaOS 3.5, acestea erau considerate inseparabile și dependente unul de celălalt.

Kickstart (în versiunile V0 până la V42) a presupus utilizarea anumitor versiuni de Workbench. De exemplu, pe un Amiga 500 care rulează Kickstart V36, Workbench 1.3 poate rula, dar Workbench 3.1, de exemplu, nu se poate încărca corect. Singura excepție de la această regulă este Workbench 2.1, care poate fi descărcat pe Amigas care rulează Kickstart V37 anterior. Cele mai recente versiuni de Workbench - 3.5 și 3.9 - folosesc Kickstart V40 pentru pornirea inițială, după care este actualizat la V42 (sau V44) într-o zonă de memorie special alocată și protejată (funcția de înlocuire a ROM pentru acceleratoare).

Kickstart

Kickstart  este numele dat software-ului de sistem care pornește Amiga pentru prima dată . Pe Amiga 1000 (primul model lansat), Kickstart a pornit de pe un disc de 3,5″ și avea o dimensiune de 256 KB. În modelele ulterioare, Kickstart a fost mutat la stocare numai pentru citire , iar dimensiunea sa a crescut la 512 KB. Toate versiunile de Kickstart sunt compatibile cu versiunea inversă , în ciuda numeroaselor modificări aduse chipset -ului clasic Amiga cu fiecare model nou.

Pe lângă codul responsabil pentru descărcarea inițială a Workbench, Kickstart conține și o parte semnificativă din AmigaOS în sine. Această parte este numită Amiga ROM Kernel și include Intuition (biblioteci care furnizează o interfață grafică ), Exec (un microkernel care implementează multitasking preventiv ) și AmigaDOS (biblioteci care asigură gestionarea discului). Ultima componentă se bazează pe TRIPOS , portat special pentru Amiga de MetaComCo și scris în limbajul BCPL (considerat „progenitorul” limbajului C ).

Versiunile recente de Kickstart conțin drivere pentru controlere IDE și SCSI , un port PCMCIA și diverse periferice Amiga.

Cu ajutorul unui software terță parte , este posibil să înlocuiți Kickstart, aflat în ROM -ul Amiga , cu o versiune diferită de Kickstart, situată într-o zonă special dedicată și protejată a RAM. De exemplu, Kickstart V34 poate fi folosit de proprietarul unui computer cu Kickstart V37 pentru a rula mai corect jocurile mai vechi. Programele care efectuează această înlocuire se numesc „softkickers” (Softkickers). Există și comutatoare hardware Kickstart care vă permit să utilizați un computer care pare să aibă două chipset-uri - învechit și obișnuit. Astfel, există multe mijloace pentru înlocuirea dinamică a ROM-ului.

Banc de lucru

Workbench este shell-ul grafic standard pentru AmigaOS. Numele shell-ului este o metaforă pentru expresia „desktop” (literal – „workbench”), așa că analogia a fost continuată mai departe: directoarele sunt descrise ca sertare desktop, fișierele executabile sunt instrumente, datele sunt proiecte și restul GUI  este tot felul de dispozitive. Majoritatea aplicațiilor AmigaOS folosesc meniuri pop-up care încep în mod tradițional cu cuvântul Proiect ("Proiect") și nu Fișier ("Fișier"), ca pe alte platforme. Strict vorbind, termenul Workbench se referă doar la principalul manager de fișiere AmigaOS, deși este adesea folosit pentru a se referi la întreaga parte a acestuia care se află în afara ROM-ului (adică în afara Kickstart).

Interfața Workbench este similară cu Mac OS Finder : folosește și bara de meniu principală din partea de sus a ecranului. Spre deosebire de mouse-ul standard Macintosh , care are un singur buton, mouse-ul standard al clasicului Amiga are două butoane. Ținând apăsat butonul din dreapta se deschide un meniu pop-up, iar eliberarea acestuia selectează o opțiune. Butonul stâng al mouse-ului este folosit pentru a gestiona ferestrele deschise pe desktop (mutare, minimizare, închidere, evidențiere etc.). Ulterior a fost adăugat suport pentru un mouse cu mai multe butoane și o roată.

Exec

Exec (ExegSG de la AmigaOS 4) este microkernel -ul multitasking al AmigaOS. Exec oferă funcționalități pentru multitasking , alocarea memoriei, gestionarea întreruperilor și gestionarea dinamică a bibliotecii partajate . Acţionează ca un planificator pentru sarcinile care rulează pe sistem, oferind multitasking preferenţial cu priorităţi de programare în mediul grafic . Exec oferă, de asemenea, acces la alte biblioteci și comunicații de nivel înalt între procese prin transmiterea de mesaje. Alte microkernel-uri comparabile au avut probleme de performanță din cauza necesității de a copia mesaje între spațiile de adrese . Deoarece Amiga are un singur spațiu de adresă , a avea Exec este un instrument destul de eficient pentru a transmite mesaje pe sistem.

Amiga DOS

AmigaDOS oferă partea de sistem a sistemului de operare AmigaOS . Aceasta include sistemul de fișiere, gestionarea fișierelor și a directoarelor, interfața de linie de comandă , redirecționarea fișierelor, ferestrele consolei și așa mai departe. Interfața sistemului este bogată în caracteristici, inclusiv redirecționarea comenzilor, transmiterea eficientă a mesajelor, scripting cu un șablon primitiv de programare și un sistem de variabile globale și locale .

În prima generație AmigaOS, AmigaDOS se baza pe TRIPOS , care a fost scris în limbajul de programare BCPL . Interoperabilitatea cu alte limbi s-a dovedit a fi o sarcină dificilă și uneori a dus la erori, în legătură cu care portul TRIPOS a fost considerat nu foarte eficient.

În a doua generație AmigaOS, AmigaDOS a fost rescris în limbajul de programare C și Assembler , păstrând în același timp compatibilitatea BCPL . Acesta a inclus programul complet de prima generație și o parte a programului din cel de-al treilea lot al AmigaDOS Resource Project (ARP), care a găsit deja înlocuitori pentru multe dintre utilitățile și interfețele software BCPL .

Ulterior, ARP a furnizat, de asemenea, unul dintre primii solicitanți de fișiere Amiga standardizate care a introdus bancul de lucru Amiga pentru a utiliza mai multe funcții de șablon (format) în stil UNIX în opțiunile din linia de comandă. Alte inovații au fost îmbunătățiri semnificative în gama de formate de fișiere implementate de sistem ca obiecte OS , care au făcut posibilă încărcarea anumitor informații în memorie o singură dată, stocarea lor în memorie și reducerea semnificativă a timpului de pornire a sistemului pentru utilizări ulterioare.

AmigaOS 4.0 a renunțat la moștenirea BCPL în întregime ca parte a DOS și, pornind de la AmigaOS 4.1, a fost complet rescris pentru a suporta pe deplin arhitectura pe 64 de biți .

Este de la sine înțeles că în AmigaOS sunt adesea folosite diverse extensii, dar nu sunt obligatorii și nu sunt gestionate într-un mod special de DOS , care în prezent se referă doar la directoare și fișiere de pe sistem. Programele executabile sunt implementate folosind ceea ce este cunoscut sub numele de număr magic sau semnătură de date .

ARexx

AmigaOS conține suport pentru limbajul de programare interpretat REXX ( ARexx  este abrevierea oficială pentru Amiga Rexx ). Acest suport literalmente „pătrunde” toate părțile sistemului de operare și vă permite: să scrieți scripturi de control al sistemului de operare ( similar cu bash în GNU/Linux ), să gestionați aplicații (mai târziu analogic - integrare VBA în Microsoft Office ) și, de asemenea, să faceți schimb de mesaje între aplicații , care acceptă porturi ARexx (analogic - D-Bus ).

Aplicațiile pot deschide porturile ARexx și pot asculta mesaje text de la alte aplicații sau sistemul de operare. Aceste mesaje pot fi interpretate ca și cum utilizatorul ar folosi GUI sau linia de comandă pentru a controla direct aplicația. De exemplu, un program ARexx (fișier text simplu) poate lansa un client de e-mail, poate salva e-mailurile primite, poate apela programul pentru a le procesa și apoi poate apela un vizualizator de text extern pentru a le afișa. În acest fel, ARexx permite unei aplicații să controleze alta prin ștergerea datelor prin memorie, în loc să creeze multe fișiere mici și să lase operațiunile de pe disc să le gestioneze pe umerii utilizatorului.

Versiuni

AmigaOS 1.0 - 3.0 (numit inițial Amiga Workbench ) au fost create de Commodore SG Corporation

AmigaOS 3.1 a fost creat de ESCOM , care a relansat și producția clasicului Amiga în Europa și SUA . Noua versiune a fost creată pe baza surselor primite de la Commodore SG

AmigaOS 3.5-3.9 a fost creat de Amiga Inc. , proprietar al mărcii Amiga în 2004 . Noua versiune a fost scrisă de la zero în C folosind inginerie inversă .

AmigaOS 3.1.x a fost creat de Hyperion Entertainment pe baza surselor vândute de Amiga Inc.

AmigaOS 3.2.x a fost creat de Hyperion Entertainment pe baza surselor vândute de Amiga Inc.

AmigaOS 4.0 - 4.1 au fost create de Hyperion Entertainment [3] cu asistența activă a ACube Systems SRL, care a contribuit într-o parte semnificativă la dezvoltarea sistemului și a făcut sistemul cu adevărat popular datorită interfeței sale grafice avansate și confortabile și a unei game largi. a aplicatiilor.

Vezi și

Note

  1. https://blog.hyperion-entertainment.com/amigaos-4-1-update-6-released/
  2. 1 2 AmigaOS 3.1.4(.1) Note de lansare și extrase locale disponibile - 2020.
  3. Hyperion Entertainment . Preluat la 7 iulie 2015. Arhivat din original la 7 iulie 2015.
  4. Hyperion Entertainment . Consultat la 12 aprilie 2006. Arhivat din original pe 22 august 2010.

Link -uri