OS-9

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
OS-9
sistem de operare
Dezvoltator Microware (acum deținut de RadiSys Corporation )
Familie Unix-like
Eliberarea inițială (1980)
Lansare curentă 4.10 (T1 2009)
Tipul de nucleu Sistem de operare în timp real
Platforme acceptate Motorola 6809 și Motorola 680x0 în limba maternă. ColdFire , SuperH , ARM / XScale , MIPS , PowerPC , arhitectură Intel x86 în varianta OS-9000 scrisă în C
Tipul licenței Software proprietar
Licență Software proprietar
Etapă de dezvoltare Activ
Site-ul web www.microware.com

OS-9 este o familie de sisteme de operare multitasking , sistem în timp real bazat pe procese , multi-utilizator și de tip Unix dezvoltat în anii 1980, inițial de la Microware Systems Corporation pentru microprocesorul Motorola 6809 . Achiziționată ulterior de RadiSys Corporation , este deținută de Microware LP din 2013 [1]

Familia OS-9 a fost populară pentru calculatoarele de uz general și rămâne în uz în sistemele încorporate comerciale și printre amatori. Astăzi, OS-9 este „denumirea produsului” utilizat atât pentru sistemele de operare scrise în limbajul mașinii pentru seria Motorola 68000 , cât și pentru versiunea portabilă ( PowerPC , x86 etc.) scrisă în C , cunoscută inițial sub numele de OS-9000 .

Istorie

Prima versiune („OS-9 Level One”), datată 1979–80, a fost scrisă în limbaj de asamblare pentru procesorul Motorola 6809 și a furnizat un singur spațiu de adrese de 64 kB în care au rulat toate procesele. Acesta a fost dezvoltat ca un sistem de operare de sprijin pentru proiectul BASIC09 , printr-un contract cu Motorola care l-a văzut ca parte a dezvoltării pentru 6809. O versiune ulterioară pentru 6809 („Nivelul doi”) a profitat de hardware-ul pentru cartografierea memorie, suportând până la 2 MB de memorie în majoritatea implementărilor (în 1980) și incluzând, de asemenea, o interfață grafică ( GUI ) pe unele platforme.

Denumirea conflictului și decizia instanței

În 1999, la nouăsprezece ani după lansarea OS-9, Apple a lansat Mac OS 9 . Microware a dat în judecată Apple în acel an pentru încălcarea drepturilor de autor. Deși judecătorul a decis că există puține probabilități de confuzie între cele două nume înregistrate, unii utilizatori de Macintosh, care nu știau despre OS-9 relativ necunoscut al Microware, au postat mesaje pe știri: //comp.os newsgroup . Os9 fără să-și dea seama ce OS-9 a fost.

În 2000, RadiSys a cumpărat Microware aproape de faliment pentru a obține resursele de rețea ale procesorului Intel IXP-1200. Achiziția a infuzat capitalul necesar și a permis Microware să continue dezvoltarea și suportul OS-9. În 2009, OS-9 este încă acceptat de RadiSys și Microware.

Tehnologie

Proiect modern și arhaic

OS-9 (în special de la versiunea 68K și mai departe) diferă în mod clar de generația anterioară de sisteme de operare încorporate în mai multe privințe:

  • Poate rula pe procesoare pe 8 biți, pe 16 biți și pe 32 de biți.
  • Împărțiți clar între modul utilizator și supervizor (nucleu).
  • Utilizarea dinamică a componentelor software compilate individual și separat (imagini de program executabile și module kernel ), mai degrabă decât o singură bibliotecă statică monolitică.
  • Model de spațiu de nume de proces de tip Unix (nu model de memorie ) și programe shell utilizator.
  • Separați clar între straturile independente de hardware (de exemplu, managerul de fișiere) și straturile dependente de hardware (de exemplu, driverul ).

În schimb, atunci când îl comparați cu sisteme de operare mai moderne:

  • Nucleul este scris în întregime în limbaj de asamblare (doar versiunea OS-9 / 68K), precum și în C (versiune portabilă pentru alte arhitecturi)
  • Utilizarea structurilor de date interne simple, care reduc obiectivul de flexibilitate și îmbunătățire, obținând în același timp determinabilitatea necesară pentru sistemele de operare a sistemului în timp real .
  • Pentru unele operații are un impact asupra performanței, dar limbajul de asamblare dă o mână problemei vitezei.
  • Sistemele fărăMMU nu au protecție a memoriei împotriva accesului ilegal și nici protecție a memoriei prin proces; cu toate acestea, sistemele cu MMU pot avea protecția de memorie activată. Modulul care controlează MMU poate fi inclus sau omis de către integratorul de sistem pentru a activa sau dezactiva protecția memoriei. Aceasta permite OS-9 să ruleze pe sisteme mai vechi care nu includ un MMU.
  • Versiunile mai vechi de OS-9 nu acceptă thread-uri POSIX , în timp ce toate procesoarele acceptate de OS-9 le acceptă.
  • Fără suport SMP pentru socketuri multiple, nuclee multiple sau fire hardware în aceeași instanță OS-9 (un sistem de operare în timp real poate rula pe unul dintre nucleele procesorului dual core, cum ar fi CoreDuo și Core2Duo , în timp ce Linux poate rula pe celălalt nucleu prin îndeplinirea sarcinilor de uz general)

Programarea sarcinilor

Kernel-ul OS-9 în timp real permite executarea simultană a mai multor aplicații independente prin comutare de sarcini și funcții de comunicare între procese. Toate programele OS-9 rulează ca procese care conțin cel puțin un proces „ușor” (fir), dar pot conține de fapt un număr nelimitat de fire. În cadrul unui proces, aceste procese „ușoare” partajează memoria, căile de intrare și ieșire și alte resurse, în conformitate cu specificațiile firului POSIX și API-urile. OS-9 planifică thread-uri folosind un algoritm de planificare pre-lansare (preventiv) cu prioritate fixă ​​și planificare round-robin între fire cu aceeași prioritate. Secțiunea de timp este acceptată (cuantica timpului). Nivelurile de prioritate pot fi împărțite în intervale care acceptă „îmbătrânirea” și programarea cu prioritate mai mare. Fiecare proces poate accesa orice resursă de sistem solicitând OS-9 cererea de service corespunzătoare. La fiecare punct de planificare, OS-9 compară prioritatea thread-ului din capul cozii de prioritate active curent cu prioritatea thread-ului curent. OS-9 face ca contextul să treacă la firul din coada activă dacă prioritatea sa este mai mare decât prioritatea procesului curent. Îmbătrânirea crește în mod artificial prioritatea efectivă a treptelor în coada activă în timp. La intervale definite, tranșarea timpului pune firul care rulează curent înapoi în coada activă în spatele altor fire care au aceeași prioritate.

Comparație cu Unix

Noțiunea OS-9 despre procesele și căile I / O este destul de similară cu cea a UNIX în aproape toate aspectele, dar există unele diferențe semnificative. În primul rând, sistemul de fișiere nu este un singur copac, ci o pădure, în care fiecare copac corespunde unui dispozitiv diferit. În al doilea rând, OS-9 nu are un apel de sistem Unix ca „ fork () ”; în schimb, are un apel de sistem care creează un proces pentru a executa un anumit program, realizând astfel o treabă similară cu un fork-exec sau spawn . În plus, procesele OS-9 țin evidența a două „directoare actuale”, mai degrabă decât a unui singur; „directorul de execuție curent” este directorul în care va încerca implicit să încarce programe de executat (ceea ce este evident similar cu utilizarea variabilei de mediu PATH sub UNIX). Celălalt este directorul curent pentru date. OS-9 are un design modular încă de la începuturi, influențat de ideile proiectanților 6809 și de modul în care se așteptau ca software-ul să fie distribuit în viitor (vezi seria articolelor din trei părți publicate de Byte di Gen-Mar 1979 scrise de Terry Ritter și alți designeri de CPU Motorola).

Structura modulelor necesită un studiu aprofundat:
  • OS-9 menține un „director de module”; o listă rezidentă în memorie a tuturor modulelor care sunt în memorie care au fost încărcate sau găsite în ROM în timpul scanării inițiale a timpului de încărcare.
  • Când tastați o comandă în OS-9 shell, aceasta caută mai întâi în „directorul de module” curent pentru un modul cu numele specificat; dacă este găsit, îl va folosi (și va crește contorul de conexiune / executare); dacă nu este găsit, va căuta un program numit corespunzător pe disc.
  • În OS-9/6809 și OS-9/68000, „directorul de module” este plat, în timp ce OS-9000 are un „director de module” structurat în arbore. Shell-ul OS-9000 caută într-un „modul director” alternativ pentru variabila de mediu MODPATH, similară cu variabila PATH, care indică secvența „directorilor de module” în care să caute referințe la module preîncărcate.
  • Modulele nu sunt utilizate numai pentru tot ceea ce privește programele. Formulare pot fi, de asemenea, create din mers pentru a păstra datele; acestea sunt modul în care OS-9 acceptă memoria partajată.

OS-9 (non-68000) acceptă thread-uri POSIX. Un singur proces poate porni orice număr de fire. Rivalitatea dintre Unix și OS-9 a devenit atât de amară încât în ​​versiunea 2.4 a manualului „Utilizarea Professional OS-9” a apărut această intrare care descrie UNIX în glosarul apendicelui C:

 UNIX:
Un sistem de operare similar cu OS-9, dar cu mai puține funcționalități și 
caracteristici speciale concepute pentru a absorbi excesul de memorie, spațiu pe disc și procesor 
timp pe computere mari, scumpe.

Intrarea poate fi tradusă după cum urmează: Unix, un sistem de operare similar cu OS-9, dar cu mai puține funcționalități și cu caracteristici speciale concepute pentru a satura excesul de memorie, spațiul pe disc și timpul de procesare al computerelor mari și scumpe. Această intrare a fost eliminată ulterior în versiunea 3.0 a manualului.

Coaja OS-9 avea un ou de Paște în istoricul comenzilor , invocat cu CTRL-A. Imediat după repornire, istoricul comenzilor ar fi trebuit să fie gol; Cu toate acestea, dacă utilizatorul a tastat un singur spațiu urmat de un backspace și apoi a apăsat CTRL-A, numele autorilor au fost afișate: „de K. Kaplan, L. Crane, R. Doggett”.

Utilizări în secolul XXI

  • Diferite versiuni ale OS-9 / 68K sunt utilizate pe o mare varietate de platforme de familie 68000 , inclusiv Sharp X68000 în Japonia, unele computere personale dezvoltate de designeri cu intenția de a înlocui computerul color (de exemplu 68070, MM / 1 bazat pe 68340 și alte computere dezvoltate de Frank Hogg Laboratories , PEP și Delmar Co.) A fost portat la Atari ST de Recc-o-ware la începutul anilor 1990 și a fost distribuit în Europa de Cumana. De asemenea, a fost raportat că există un port pentru Amiga .
  • OS-9 / 68K poate fi găsit și în unele aplicații încorporate, inclusiv generatorul de caractere de difuzare Quanta Delta, încă în producție de către ScanLine Technologies din Utah. În timp ce interfața la nivel de utilizator din sistem este pornită la momentul pornirii, există o secvență de apăsare a tastelor (ascunsă și nedocumentată) care ar oferi utilizatorului o solicitare de shell rădăcină într-o fereastră de derulare pe monitorul de editare a canalului dispozitivului.
  • Pe piața încorporată, OS-9 a găsit aplicații în dispozitive precum sintetizatoarele Fairlight CMI, robotică, navigatoare de mașini preinstalate și standardul industrial Philips Compact Disc-Interactive ( CD-i ).
  • Computerul TRS-80 Color (și clonele aferente) au încă utilizatori și o conferință anuală la Chicago CoCoFEST . Un grup de programatori canadieni a rescris OS-9/6809 Nivelul II pentru CoCo 3 pentru a obține o eficiență mai mare (hardware cu traducerea adreselor) și pentru a profita de modul nativ al Hitachi 6309 . Utilizatorii serioși de CoCo de astăzi înlocuiesc de obicei 68B09E în CoCo 3 cu un Hitachi 63B09E și utilizează rescrierea OS-9 numită NitrOS9 . Combinația este surprinzător de rapidă atunci când considerăm că rulează pe un computer pe 8 biți, cu un cost redus.
  • OS-9000 / 80x86 poate rula pe mașini de tip PC construite cu procesoare Intel x86. OS-9000 a fost, de asemenea, portat pe PowerPC , MIPS , unele versiuni ale procesorului Advanced RISC Machines ARM și unele dintre procesoarele familiei Hitachi SuperH .
  • Unitatea de redare audio DigiCart / II Plus utilizează OS-9 / 68K. Este un înlocuitor în stare solidă pentru un cartuș cu 8 piste, cum ar fi cele utilizate în posturile de radio. Aceste unități sunt utilizate în radiouri și în locuri precum Walt Disney World, unde joacă anunțuri despre parc.
  • Producătorul german de electronice Eltec produce de la sfârșitul anilor 1970 modelul Eurocom de plăci CPU în scopuri industriale. A început cu 6802 și 6809 pentru Eurocom-1 și Eurocom-2 , apoi a trecut la carduri CPU pentru 68K și derivate până în prezent. Cardurile moderne pot fi livrate opțional cu diferite sisteme de operare, inclusiv OS-9.

Conexiuni

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT