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

Izgradnja operacijskog sustava uporabom mikrojezgre

Izgradnja operacijskog sustava uporabom mikrojezgre

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

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