Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Izgradnja operacijskog sustava uporabom mikroje...

Izgradnja operacijskog sustava uporabom mikrojezgre

Diploma thesis presentation, a description of microkernel-based operating system built using open source components. Croatian language.

Avatar for Senko Rašić

Senko Rašić

March 31, 2006
Tweet

More Decks by Senko Rašić

Other Decks in Research

Transcript

  1. ideja mikrojezgre: Upravljački programi sklopovlja i razni servisi su obični

    programi. U jezgri ostaviti samo nužnu funkcionalnost.
  2. L4 mikrojezgra • rekurzivni adresni prostori • visoko optimirani IPC

    L4Ka::Pistachio – ostvarenje sveučilišta u Karlsruheu
  3. Hasenpfeffer • temeljen na L4 mikrojezgri • skup poslužitelja koji

    komuniciraju IPC-om • korištenje gotovih komponenti sa otvorenim izvornim kôdom
  4. Komunikacija među procesima • procesi poslužitelj (server) i korisnik (client)

    • sučelje (interface) komunikacije • potreban kôd generiran IDL4 alatom interface File { boolean Read(in Capability_t cap,in unsigned long offset, out byteseq_t buffer, inout unsigned long size); unsigned long Size(in Capability_t cap); ... }
  5. Funkcionalnost • učitavanje i izvršavanje programa (ELF) • višezadaćnost, višenitnost

    • dostupna standardna C biblioteka • korištenje čvrstog diska (IDE) • programiranje u TinyScheme i TinyBasic jezicima
  6. Korištene komponente • pristup IDE diskovima • ispis na zaslon

    i ulaz s tipkovnice • C biblioteka • TinyScheme interpreter • TinyBasic interpreter
  7. Testiranje • QEMU • VMWare Workstation • L4 KDB (Kernel

    Debugger) Testna okolina: – slika diskete za podizanje sustava – slika čvrstog diska sa ext2 datotečnim sustavom
  8. Razvoj programske podrške #include <stdio.h> #include <l4/ipc.h> #define SEKUNDA 1000000UL

    int main(int argc, char *argv[]) { char buf[1024]; L4_Sleep(L4_TimePeriod(4 * SEKUNDA)); printf("Pozdrav, ja sam %s!\nTko ste vi: ", argv[0]); fgets(buf, 1023, stdin); printf("Pozdrav, %s\n", buf); return 0; }
  9. Razvoj programske podrške • Izvorni kôd (standardni C program) •

    Konfiguracijska datoteka za izgradnju – prema predlošku iz izvornog kôda sustava • Izgradnja i kopiranje u sliku diskete • Konfiguracija učitavanja sustava • Pokretanje emulacije računala i testiranje
  10. Zaključak izgrađen sustav: – rudimentaran – prilagodljiv i proširiv mikrojezgra:

    – dobra osnova za buduće sustave otvoren izvorni kôd: – dostupnost – prilagodljivost