HelenOS prosjektet er et forsøk på å utvikle et fungerende operativsystem ifølge HelenOS spesifikasjoner. HelenOS støtter SMP, multitasking og multithreading på både 32-bit og 64-bit, litt-endian og big-endian, prosessorarkitekturer, blant wich er AMD64 / EM64T (x86-64), IA-32, IA-64 (Itanium) , 32-bit MIPS, 32-bits PowerPC og SPARC V9.
HelenOS blir utviklet av studenter ved Fakultet for matematikk og fysikk ved Karlsuniversitetet. Kildekoden er tilgjengelig under BSD-lisensen. Tredjepartskomponenter er lisensiert under GPL.
I tilfelle du er interessert i vårt prosjekt eller har spørsmål om det, må du gjerne abonnere på vår mailingliste. Prosjektet er for tiden under utvikling og vi er på jakt etter folk med på laget som betatestere. Betatestere i dag kan bli utviklere morgendagens
Egenskaper .
- I-tree betyr at porten allerede har begynt, og at det er mulig å bygge et binært bilde av SPARTAN kjernen for at respektive arkitektur.
- Avbrudd og avvikshåndtering sier om kjernen er klar til å overleve og til slutt behandle noen form for avbrudd. Dette gjelder da spesielt maskinvare avbryter som tidtaker avbryter.
- Kontekst lagre / gjenopprette er evnen til å lagre og gjenopprette tilstanden i dagens CPU i kernel-modus. Dette er en arkitektur-spesifikk oppgave og krever litt montering koding.
- FPU sammenheng refererer til evnen til å støtte tråden private flyttall miljø.
- Time management refererer til kernel evne til å telle timer-flått og utføre registrerte handlinger på spesielle hendelser som kalles tidsavbrudd.
- Kernel preemption, i motsetning til vanlig userspace preemption, sier, at henrettelsen av kjernen koden kan avbrytes når CPU prioritet er lav (avbrudd er deaktivert).
- Kernel tråder er schedulable enheter med egen kjerne sammenheng.
- Synkronisering er levert av semaforer, mutexes, rwlocks og tilstandsvariabler. Alle disse er SMP trygg og i stand til timeout drift.
- Heap leder hjelpemidler dynamisk tildeling og deallokering minne for kjerneformål.
- Fysisk minnehåndtering tar seg av tildeling av rammer av fysisk minne.
- Virtuelt minne ledelse er delsystem som gir kartlegging av virtuelle adresser til fysiske minnet. Det er også brukt til å organisere tråder 'userspace minne kartlegginger.
- userspace trådene er gjenger med userspace stack og virtuelt minne kartlegging lagt til.
- Multi støtte erklærer støtte for SMP-systemer. Hver arkitektur må konfigurere systemet ved oppstart for å oppdage alle CPU-er og gjøre dem kjøre kernel kode.
- Små-endian og big-endian arkitekturer støttes.
- 32-bit og en. 64-bits arkitekturer støttes
Hva er nytt i denne utgaven:
- Generelt:
- Prosjektet byttet til Bazaar VCS.
- Den ia32 port kan kjøres i VirtualBox igjen.
- Støtte for å bygge ved hjelp Clang.
- Kernel:
- Støtte for Ultrasparc T1 og T2 prosessorer ble lagt til.
- Tjenester og Drivere:
- ATA Disk Driver
- Nå fungerer med ekte disker og støtter 48-bit LBA.
- Lagd MBR og GUID partisjonstabellen drivere.
- På G3 Mac tastatur fungerer igjen via ny Apple Desktop Bus driver (og mus støttes også).
- Re-introdusert musedriverne, denne gangen som egne servere.
- PS / 2-mus
- Apple ADB mus
- Clipboard tjeneste
- Nettverk stack (eksperimentell støtte)
- Filsystemer:
- Blokker adresser og fil forskyvninger nå 64-bit på alle arkitekturer.
- Forbedret I / O feilbehandling.
- FAT-filsystemet er nå mer robust mot misdannede på disk filsystemet data.
- devfs filsystemet forstår nå enhets navnerom og flytter til hierarkisk mappestruktur.
- tmpfs og FAT-filsystemer kan nå deaktiveres.
- Programmer:
- New Text Editor
- Lagt redigere en enkel tekst editor.
- BDSH
- Forbedret inngangen (tekst søke, historie, kopier og lim)
- mkfile kommando for å lage null fylte filer (f.eks diskbilder)
- Verktøy for å lage FAT-filsystemer, mkfat
- Diverse:
- Bygg system
- Parallel bygger støttes nå.
- gytt oppgave arver nå gjeldende arbeidskatalog fra spawner oppgaven.
- Stack spor
- Etter en mislykket påstand sviktende søknaden vil skrive ut en stabel spor (alle arkitekturer unntatt ia64 og mips32).
- Når kjernen dreper en oppgave, vil det skrive ut sin stack trace (alle arkitekturer unntatt ia64, mips32, ppc32 og SPARC64).
- Når kjernepanikk, vil det skrive ut en stabel spor (alle arkitekturer unntatt ia64, mips32, ppc32 og SPARC64).
- Kjerne dumper (eksperimentell støtte)
- Regressions i denne versjonen:
- Endringer i Qemu oppførsel for noen plattformer
- HelenOS / arm32 for Integrator / CP kjører i Qemu 0,11 og over vil vise feil farger på rammen buffer og tastatur presser vil resultere i feil skannekoder. Kjører i Qemu 0.10.5 ikke viser disse problemene.
- Kjente feil:
- For de kjente feil, kan du se listen over feil innloggede for de neste utgivelsene.
Kommentarer ikke funnet