Objektorienteret operativsystem - Object-oriented operating system

Et objektorienteret operativsystem er et operativsystem, der er designet, struktureret og betjent ved hjælp af objektorienterede programmeringsprincipper .

En objektorienteret operativsystem er i modsætning til en objektorienteret brugergrænseflade eller programmering ramme , som kan køres på et ikke-objektorienteret operativsystem som DOS eller Unix .

Der er allerede objektbaserede sprogkoncepter involveret i designet af et mere typisk operativsystem som Unix . Selvom et mere traditionelt sprog som C ikke understøtter objektorientering lige så flydende som nyere sprog, kan begrebet for eksempel en fil , stream eller enhedsdriver (i Unix, hver repræsenteret som en filbeskrivelse ) betragtes som en godt eksempel på objekter. De er jo abstrakte datatyper med forskellige metoder i form af systemopkald, hvilken adfærd varierer baseret på objekttypen, og hvilke implementeringsdetaljer der er skjult for den, der ringer op.

Objektorientering er blevet defineret som objekter + arv , og arv er kun en tilgang til det mere generelle delegeringsproblem, der opstår i hvert operativsystem. Objektorientering er blevet mere udbredt i brugergrænseflader i operativsystemer end i deres kerner .

Baggrund

Et objekt er en forekomst af en klasse, som giver et bestemt sæt funktionaliteter. To objekter kan differentieres baseret på de funktionaliteter (eller metoder), de understøtter. I en operativsystemkontekst er objekter knyttet til en ressource. Historisk set blev de objektorienterede designprincipper brugt i operativsystemer til at tilvejebringe flere beskyttelsesmekanismer.

Beskyttelsesmekanismer i et operativsystem hjælper med at give en klar adskillelse mellem forskellige brugerprogrammer. Det beskytter også operativsystemet mod enhver ondsindet brugerprogramadfærd. Overvej f.eks. Tilfældet med brugerprofiler i et operativsystem. Brugeren bør ikke have adgang til en anden brugers ressourcer. Objektmodellen omhandler disse beskyttelsesproblemer, idet hver ressource fungerer som et objekt. Hvert objekt kan kun udføre et sæt operationer. I forbindelse med brugerprofiler er handlingssættet begrænset af en brugers rettighedsniveau .

Nutidens operativsystemer bruger objektorienterede designprincipper for mange komponenter i systemet, herunder beskyttelse.

Eksempler

Athene
Athene er et objektbaseret operativsystem, der først blev frigivet i 2000 af Rocklyte Systems. Brugermiljøet blev udelukkende konstrueret af objekter, der er knyttet sammen under runtime. Applikationer til Athene kunne også oprettes ved hjælp af denne metode og blev normalt scriptet ved hjælp af objektscript -sproget Dynamic Markup Language (DML). Objekter kunne have været delt mellem processer ved at oprette dem i delt hukommelse og låse dem efter behov for adgang. Athenes objektramme var multi-platform, så den kunne bruges i Windows- og Linux-miljøer til udvikling af objektorienterede programmer. Virksomheden blev nedlagt, og projektet blev opgivet engang i 2009.
BeOS
Et forsøg på at skabe et virkelig objektorienteret operativsystem var BeOS fra midten af ​​1990'erne, der brugte objekter og C ++- sproget til applikationsprogrammeringsgrænsefladen (API). Men kernen blev skrevet i C med C ++ wrappers i brugerplads. Systemet blev ikke mainstream og viste sig at være kommercielt rentabelt. Nu bliver det brugt og udviklet af en lille gruppe entusiaster.
Valg
Choices er et objektorienteret operativsystem udviklet ved University of Illinois i Urbana – Champaign . Det er skrevet i C ++ og bruger objekter til at repræsentere kernekernekomponenter som den centrale behandlingsenhed (CPU), processer og så videre. Arv bruges til at adskille kernen i bærbare maskinuafhængige klasser og små ikke-bærbare afhængige klasser. Valg er blevet portet til og kører på SPARC , x86 og ARM .
GEOS
PC/GEOS er et let objektorienteret multitasking grafisk operativsystem med sofistikeret vindues- og desktophåndtering med skalerbare skrifttyper. Det er for det meste skrevet i en objektorienteret x86-samlingsprogsdialekt og nogle C/C ++ og er designet til at køre på DOS (ligner Microsoft Windows op til Windows Me ). GEOS blev oprindeligt udviklet af Berkeley Softworks i 1990, som senere blev GeoWorks Corporation, og det vedligeholdes fortsat af BreadBox Computer Company. Relaterede softwarepakker blev navngivet Ensemble og New Deal Office . Der findes tilpasninger til forskellige håndflader og 32-bit systemer med ikke-x86-CPU'er.
Haiku
Efter ophør af BeOS begyndte et forsøg på at oprette en open source-erstatning. Haiku (oprindeligt kaldet OpenBeOS ) nåede sin første milepæl i september 2009 med udgivelsen af ​​Haiku R1/Alpha 1. x86 -distributionen er kompatibel med BeOS på både kilde- og binært niveau. Ligesom BeOS er den primært skrevet i C ++ og giver en objektorienteret API. Det er aktivt udviklet.
IBM i (OS/400, i5/OS)
IBM introducerede OS/400 i 1988. Dette operativsystem kørte udelukkende på AS/400 -platformen. Omdøbt IBM i 2008, dette operativsystem og kører udelukkende på Power Systems, som også kan køre AIX og Linux . IBM i bruger en objektorienteret metode og integrerer en database ( Db2 for i ). IBM i OS har en 128-bit unik identifikator for hvert objekt.
IBM OS/2 2.0
IBMs førsteprioritetsbaserede præventive multitasking, grafiske, Windows-baserede operativsystem inkluderede en objektorienteret brugerskal. Det var designet til Intel 80386, der brugte virtuel 8086-tilstand med fuld 32-bit support og blev frigivet i 1992. ArcaOS , et nyt OS/2-baseret operativsystem, der oprindeligt hed Blue Lion, udvikles af Arca Noae. Den første version blev udgivet i maj 2017.
IBM TopView
TopView var et objektorienteret driftsmiljø, der blev indlæst på en pc på DOS, og derefter tog kontrol fra DOS. På det tidspunkt blev det effektivt et objektorienteret operativsystem med en objektorienteret API (TopView API). Det var IBMs første multi-tasking, vinduesbaserede, objektorienterede operativsystem til pc'en ledet af David C. Morrill og udgivet i februar 1985.
Java-baseret
I betragtning af at Oracles (tidligere Sun Microsystems ) Java i dag er et af de mest dominerende objektorienterede sprog, er det ingen overraskelse, at Java-baserede operativsystemer er blevet forsøgt. I dette område ville kernen ideelt set bestå af det minimum, der er nødvendigt for at understøtte en virtuel Java -maskine (JVM). Dette er den eneste komponent i et sådant operativsystem, der skulle skrives på et andet sprog end Java. Bygget på JVM og grundlæggende hardware support, ville det være muligt at skrive resten af ​​operativsystemet i Java; selv dele af systemet, der mere traditionelt er skrevet på et sprog på lavere niveau, f.eks. C, f.eks. enhedsdrivere , kan skrives i Java.
Eksempler på forsøg på et sådant operativsystem inkluderer JavaOS , JOS, JNode og JX .
Lisp-baseret
Et objektorienteret operativsystem skrevet på Lisp- dialekten Lisp Machine Lisp (og senere Common Lisp ) blev udviklet på MIT. Det blev kommercialiseret med Lisp Machines fra Symbolics , Lisp Machines Inc. og Texas Instruments . Symbolik kaldte deres operativsystem Slægter . Det blev udviklet med Flavors objektorienteret udvidelse af Lisp, derefter med New Flavors og derefter med Common Lisp Object System (CLOS).
Xerox udviklede flere arbejdsstationer med et operativsystem skrevet i Interlisp-D . Interlisp-D leverede objektorienterede udvidelser som LOOPS og CLOS.
Movitz og Mezzano er to nyere forsøg på operativsystemer skrevet i Common Lisp.
Medos-2
Medos-2 er en enkelt bruger, objektorienteret operativsystem lavet til Lilith linje af arbejdsstationer (processor: Advanced Micro Devices (AMD) 2901 ), som er udviklet i begyndelsen af 1980'erne på ETH Zurich af Svend Erik Knudsen med råd fra Niklaus Wirth . Det er bygget helt ud af moduler i programmeringssproget Modula-2 . Det blev efterfulgt på ETH Zürich af Oberon -systemet, og en variant ved navn Excelsior blev udviklet til Kronos -arbejdsstationen, af Sovjetunionens videnskabsakademi , sibirisk afdeling, Novosibirsk Computing Center, Modular Asynchronous Developable Systems (MARS) -projekt, Kronos Forskningsgruppe (KRG).
Microsoft Singularity
Singularity er et eksperimentelt operativsystem baseret på Microsofts .NET Framework . Det kan sammenlignes med Java-baserede operativsystemer.
Microsoft Windows NT
Windows NT er en familie af operativsystemer (herunder Windows 7 , 8 , Phone 8 , 8.1 , Windows 10 , Xbox ) produceret af Microsoft , hvis første version blev udgivet i juli 1993. Det er et programmeringssprog baseret på højt niveau , processoruafhængigt , multiprocesserende , flerbrugeroperativsystem . Det beskrives bedst som objektbaseret snarere end objektorienteret, da det ikke inkluderer objektets orienterede sprogs fulde arveegenskaber.
Den Object manager er ansvarlig for håndtering af NT objekter. Som en del af dette ansvar opretholder det et internt navnerum, hvor forskellige operativsystemkomponenter, enhedsdrivere og Win32 -programmer kan gemme og opslå objekter. NT Native API giver rutiner, der tillader programmer til brugerplads (mode) at gennemse navneområdet og forespørge om status for objekter, der er placeret der, men grænsefladerne er udokumenterede. NT understøtter adgangskontrollister pr. Objekt (fil, funktion og rolle) , der gør det muligt at anvende et stort sæt sikkerhedstilladelser på systemer og tjenester. WinObj er et Windows NT -program, der bruger NT Native API (leveret af NTDLL.DLL) til at få adgang til og vise oplysninger om NT Object Manager -navnerummet.
Komponentobjektmodel
user mode -siden i Windows er Component Object Model (COM) en applikations binær grænsefladestandard for softwarekomponenter, der blev introduceret af Microsoft i 1993. Den bruges til at muliggøre interprocesskommunikation og dynamisk objektoprettelse i en lang række programmeringssprog . COM er grundlaget for flere andre Microsoft -teknologier og -rammer, herunder Object Linking and Embedding (OLE), OLE Automation , ActiveX , COM+ , Distributed Component Object Model (DCOM), Windows -shell , DirectX og Windows Runtime . OLE er en proprietær teknologi udviklet af Microsoft, der gør det muligt at integrere og linke til dokumenter og andre objekter. På et teknisk niveau er et OLE -objekt ethvert objekt, der implementerer IOleObject -grænsefladen, muligvis sammen med en lang række andre grænseflader afhængigt af objektets behov. Dens primære anvendelse er til håndtering af sammensatte dokumenter , men det bruges også til at overføre data mellem forskellige applikationer ved hjælp af træk og slip og udklipsholderoperationer .
Sammensat fil binært format
Compound File Binary Format (CFBF) er et filformat til lagring af mange filer og streams inden for en fil på en disk. CFBF er udviklet af Microsoft og er en implementering af Microsoft COM Structured Storage . Struktureret lagring bruges i vid udstrækning som hovedfilformat i Microsoft Office -applikationer, herunder Microsoft Word , Microsoft Excel , Microsoft PowerPoint , Microsoft Access og er grundlaget for Advanced Authoring Format .
Objektforbindelse og indlejring
Object Linking and Embedding (OLE) var en del af en større plan ved navn Cairo , kodenavnet for et projekt hos Microsoft fra 1991 til 1996. Dens charter var at bygge teknologier til et næste generations operativsystem, der ville opfylde Bill Gates 'vision om " information lige ved hånden ". Kairo blev aldrig sendt , selvom dele af dets teknologier siden er vist i andre produkter. Den
grafiske brugergrænseflade i Windows 95 var baseret på det indledende designarbejde, der blev udført på Kairos brugergrænseflade. Den resterende komponent er det objektbaserede filsystem . Det var engang planlagt at blive implementeret i form af Windows Future Storage ( WinFS ) som en del af Windows Vista . WinFS er kodenavnet til datalagring og styringssystemprojekt baseret på relationsdatabaser , der kører på Windows NT- filsystemet ( NTFS ), som er objektorienteret, idet det kan gemme NT-objekterne inklusive dets NT-objektidentifikator. Hvert NTFS -objekt har et objekt -id; en genvej med et mål, der er på en NTFS -diskenhed, registrerer også objektidentifikatoren for genvejsmålet og objektidentifikatoren for drevet. WinFS blev første gang demonstreret i 2003 som et avanceret lagersubsystem til Microsoft Windows- operativsystemet , designet til vedholdenhed og styring af strukturerede , semi-strukturerede og ustrukturerede data . WinFS -udviklingen blev annulleret i juni 2006, hvor nogle af dets teknologier fusionerede til andre Microsoft -produkter, f.eks. Microsoft SQL Server 2008 og Microsoft SharePoint . Det blev efterfølgende bekræftet i et interview med Bill Gates, at Microsoft planlagde at migrere applikationer som Windows Media Player , Windows Photo Gallery , Microsoft Office Outlook osv. For at bruge WinFS som datalagringens back-end.
Næste skridt
I slutningen af ​​1980'erne dannede Steve Jobs computervirksomheden NeXT . En af NeXTs første opgaver var at designe et objektorienteret operativsystem, NeXTSTEP . De gjorde dette ved at tilføje en objektorienteret ramme om Mach og BSD ved hjælp af Objective-C- sproget som grundlag. Det opnåede en nichestatus på computermarkedet, især brugt af Tim Berners-Lee, der udviklede den første implementering af World Wide Web .
NeXTStep udviklede sig senere til OpenStep og Cocoa APIMac OS X og iOS .
OpenStep blev leveret som et API-lag på mange operativsystemer, nemlig HP-UX , NextStep, Solaris og Windows.
Oberon
Oberon er en enkelt bruger, objektorienteret operativsystem lavet til Ceres linje af arbejdsstationer (processor: National Semiconductor NS32000 ), udviklet i de senere 1980'erne på ETH Zurich af Niklaus Wirth og Jürg Gutknecht . Det er bygget helt ud af moduler i programmeringssproget Oberon . En senere udvikling fik navnet Active Object System (AOS), derefter omdøbt til Bluebottle , derefter omdøbt til A2 .
OOSMOS
Det objektorienterede State Machine Operating System (OOSMOS), skrevet i C, fremmer objektorienteret indkapsling og implementerer en komplet borddrevet hierarkisk tilstandsmaskinarkitektur. Det genererer C -kode direkte fra statskort tegnet med open source -værktøjet UMLet . OOSMOS understøtter også et unikt funktionsopkald 'state threads', som tillader en udførelsestråd pr. Tilstand. OOSMOS opererer på bar board eller i samarbejde med et eksisterende operativsystem.
ReactOS
ReactOS er et open source-operativsystem, der er beregnet til at være binært kompatibelt med applikationssoftware og enhedsdrivere til Microsoft Windows NT-versioner. Den er skrevet fra bunden og har til formål at følge arkitekturen i Windows NT designet af Microsoft fra hardwareniveauet helt til applikationsniveauet. Dette er ikke et Linux-baseret system og deler ingen af unix-arkitekturen .
Selv
Self (programmeringssprog) blev opfundet på Xerox PARC . Det blev derefter udviklet ved Stanford University og Sun Microsystems .
Småsnak
Smalltalk blev opfundet på Xerox i 1970'erne. Smalltalk-systemet er fuldstændig objektorienteret og kræver meget lidt support fra BIOS og driftstidssystemet .
Stavelse
Stavelse gør stor brug af C ++ og bliver derfor ofte sammenlignet med BeOS .
Symbolik Slægter
Slægter fra Symbolics er et operativsystem til Lisp -maskiner skrevet i ZetaLisp og Symbolics Common Lisp . Det gør stor brug af Flavours (en tidlig objektorienteret udvidelse til Lisp) og Common Lisp Object System (CLOS). Udviklingen begyndte i midten af ​​70'erne på MIT.
Talentfuld
Taligent var et objektorienteret operativsystemprojekt, påbegyndt af Apple Inc. og udviklet i fællesskab med IBM i 1990'erne. Det blev senere udskilt til et IBM -datterselskab og omdannet fra et operativsystem til et programmeringsmiljø.

Se også

Referencer

eksterne links