Világegyetem | |
---|---|
Képernyőkép a Cosmos shellről a QEMU alatt | |
Fejlesztő | Kozmosz projekt |
legújabb verzió | 20220209 ( 2022. február 9. ) |
Kernel típusa | mikrokernel |
Engedély | BSD |
Állapot | Bétatesztelés |
Source Code Repository | https://github.com/CosmosOS/Cosmos… |
Weboldal | gocosmos.org |
Médiafájlok a Wikimedia Commons oldalon |
A Cosmos egy nyílt forráskódú operációs rendszer fejlesztőkészlet , amely C# programozási nyelven íródott . Ezenkívül tartalmaz egy Microsoft Intermediate Language ( IL2CPU ) fordítót, amely lehetővé teszi teljes programmodulok létrehozását, amelyek magukban foglalják a .NET-keretrendszer könyvtárakat és magát a Cosmos operációs rendszert, amely lehetővé teszi olyan rendszerindító modulok létrehozását, amelyekhez nincs szükség külső operációs rendszerre. a munkájuk. Indítható hajlékonylemezről , USB flash meghajtóról , CD-ROM -ról vagy virtuális gépről . Jelenleg csak az x86 architektúra támogatott, bár a rendszer C# irányítású, a legtöbb kompatibilis .NET nyelvvel használható, mint például: Visual Basic és X# ("tiszta" CIL -fordítás szükséges P/Invoke használata nélkül ). A Cosmos elsősorban csak a Microsoft .NET-keretrendszerrel való használatra készült, de a System.Threading blokkra, a ReaderWriterLockSlim osztályra támaszkodva Mono használatával is lefordítható .
A Cosmos webhelye szerint a Cosmos a C # Open Source Managed Operating System háttérneve . A Cosmos ma már egy olyan eszközkészlet, amely megkönnyíti a többi fejlesztő számára saját operációs rendszer létrehozását, vagy ahogy a projekt egyik vezetője fogalmazott, " Lego -típusú operációs rendszerként " működik. Absztrakciós rétegként is funkcionál, elrejti a belső hardvermunkák nagy részét.
A Cosmos jelenlegi kiadása a Milestone 5 , de a jövőbeli kiadásokon már javában folyik a munka. A Cosmoson végzett munka nagy része jelenleg a hálózati interfész fejlesztésére irányul, azonban a rendszer már támogatja néhány hálózati kártyát és a TCP/IP egyes funkcióit . A Cosmosnak jelenleg két verziója létezik, egy (későbbi) forrásverzió és egy kiadási verzió (egyéni készletként ismert). A forrásverzió azoknak szól, akik segíteni szeretnének a kernel fejlesztésében , míg az egyéni készlet azoknak szól, akik csak a Cosmost szeretnék használni saját operációs rendszerük fejlesztéséhez. Valamivel a Milestone 3 megjelenése előtt azt javasolták, hogy minden felhasználó töltse le a forráskódot, mivel a Milestone 2 előző csomagja elavult.
A legújabb verzióban a fejlesztők visszatértek a GRUB -hoz rendszerbetöltőként , de korábban a Syslinux és a fent említett GRUB is használatban volt.
A Cosmosra épített operációs rendszer .NET -projektként indul (különösen a konzolalkalmazások esetében ). Az új verziókban a kódírás egyszerűsödött. A fő Kernel.cs fájl két metódusra oszlik: BeforeRun() és Run(). Az első az operációs rendszer betöltése után végrehajtott műveleteket írja le. A másodikban a kód egy végtelen ciklusban fut le, de általában a fejlesztők kiegészítik a módszert a számítógép kikapcsolására szolgáló funkcióval.
A Cosmos-ban olyan osztályok léteznek, mint a System a számítógép fájlrendszerével , hálózatával és áramellátásával; HAL, grafikus és illesztőprogramok használatához ; Core a RAM , ACPI kezeléséhez és a CPU adatok megtekintéséhez ; Hibakeresés hibakereséshez és Common.
Az összeállítási beállítások a projekt tulajdonságaiban találhatók, az építkezés a Visual Studio ablakának felső paneljén található "Build" fülön keresztül történik.
Az egyéni készlet a Cosmos része, amelynek célja, hogy a Cosmos könnyebben használható legyen a Microsoft Visual Studio fejlesztői számára . A csomag telepítése új projekttípust ad a Visual Studióhoz, Cosmos Project néven. Ez a konzolalkalmazás módosított változata, a Cosmos fordító már hozzáadva, és a kód betöltése nem fejeződött be.
Miután a kód elkészült, a felhasználó lefordíthatja a projektet a preferált .NET fordítójával. Ez az alkalmazásokat eredeti forráskódjukból ( C# vagy más) a Microsoft Intermediate Language nyelvvé, a .NET-keretrendszer anyanyelvévé alakítja. Ezután indítsa el az alkalmazást, mutasson a Cosmos Builder ablakra, amely a fejlesztő számára olyan lehetőségeket kínál, amelyek meghatározzák a projekt összeállításának módját. Ezek a lehetőségek magukban foglalják a projekt betöltését emulátorokon, például QEMU -n , Virtual PC -n és VMWare -en keresztül, lemezképbe (ISO-fájlba) írást, amely később CD-ROM-ra írható, vagy PXE -hálózaton keresztül indítható , valamint egy Cosmos hibakeresési opció. beépített hibakereső és egyéb lehetőségek.
Amikor a felhasználó kiválasztotta a kívánt opciókat, rákattint a "Build" gombra. Ez hívást eredményez az IL2CPU fordítóhoz , amely szisztematikusan végigmegy a CIL-kód összes alkalmazásán (a Cosmos fordítókód kivételével), és a kiválasztott processzorarchitektúra összeállítási nyelvévé alakítja azt. Ezután a Cosmos meghívja a kiválasztott assemblert, hogy ezt a kódot assembly nyelvről a processzor natív műveleti kódjára konvertálja . Végül a kívánt eredmények elérhetők, legyen szó emulátor indításáról, PXE motor indításáról vagy ISO fájlból való olvasásról.
A Cosmos számos lehetőséget kínál a kimenet hibakeresésére .
VirtualizációA Cosmos lehetővé teszi a felhasználó számára az operációs rendszer elindítását egy virtuális gép segítségével . Ez lehetővé teszi a fejlesztők számára, hogy újraindítás nélkül teszteljék a rendszert a saját gépükön, ami azt az előnyt biztosítja, hogy nincs szükség további hardverre, vagy a fejlesztőnek el kell hagynia a fejlesztői környezetet . Ennek megoldására a Cosmos lehetővé teszi a három emulátor valamelyikének használatát. A QEMU , az alapértelmezett rendszerindítási lehetőség, egy ingyenes emulátor, amely a Cosmoshoz tartozik. A VMWare egy emulátor, amely letölthető a VMware webhelyéről, ingyenes és fizetős verziókkal. A Virtual PC egy ingyenes emulátor, amely letölthető a Microsoft webhelyéről [1] . Ezenkívül ezek az emulátorok rendelkeznek lemezkép-összeállítási funkcióval, amely lehetővé teszi a Cosmos projekt betöltését bármely emulátorba, amely lehetővé teszi lemezkép betöltését.
A QEMU-val elérhető másik funkció a hibakereső , amely lehetővé teszi a felhasználó számára, hogy a forráskódot a Visual Studio -hoz hasonlóan tekintse meg, miközben az operációs rendszerét QEMU-ban futtatja. Úgy működik, hogy kódot ad hozzá az operációs rendszerhez, amely virtuális hálózaton keresztül kommunikál a hibakeresővel .
LemezképekEz a beállítás az operációs rendszert lemezképbe (ISO-fájlba) írja, amely betölthető egyes emulátorokba (például Virtual PC ), vagy CD-ROM-ra írható, és valódi hardverről indítható.
PXE hálózati rendszerindításEzzel az opcióval beállíthatja, hogy az operációs rendszer valódi hardverről induljon. Az adatokat a LAN -on keresztül továbbítják a kliens géphez. Ehhez két számítógépre van szükség, az egyik a kliens gép (amelyre az operációs rendszer van betöltve), a másik pedig a szerver (általában a fejlesztő gépe). Ehhez a két számítógépet összekötő hálózatra is szükség van, a kliensgépen pedig olyan hálózati kártyával és BIOS -szal kell rendelkeznie, amely támogatja a PXE rendszerindítást.
A Cosmos rendszerek fő összeszerelőjének egy speciálisan tervezett összeszerelőnek kellett lennie . Hatékonysága és lassúsága miatt azonban a NASM assemblert használják .