2: Linux og C Flashcards
Unix / Linux
Linux útfærsla á Unix
Hvar hófst Unix ?
Hófst í Bell Labs, Multics (1964-1969)
Hver skrifaði Unics (1969)
Ken Thompson
Hver skrifaði Unix í C ?
Dennis Ritchie skrifaði C-þýðanda og Unix í C
Minix [1987]
Andy Tanenbaum skrifaði Minix [1987] – Fylgdi með kennslubók í stýrikerfum
Linux [1991]
Linus Torvalds skrifaði Linux [1991]
– Upphaflega aðallega kjarninn, en síðan var GNU hugbúnaðartólunum bætt við GNU/Linux
Nær allar sýndarvélar keyra ?
Linux
Áhrif Unix í dag
Notað í um 70% af öllum vefþjónum
• Notað í öllum öflugustu tölvum heims
Nær allar sýndarvélar keyra Linux
– TOP 500 (www.top500.org) [allar með Linux]
Margar mismunandi útgáfur:
– Linux (ýmsar dreifingar)
– Fyrirtækjaútgáfur af Unix (Solaris, AIX, …) – Android og iOS byggja á Unix
Innan við 10% notkun í notendatölvum (client) Mest af því er vegna MacOS
Hugmyndafræði Unix
Hvert forrit gerir einn hlut og gerir hann vel – Auðveldara að skeyta þeim saman
Nota hreinar textaskrár
– Hefur komið aftur með XML
Flytjanleiki (portability) er mikilvægur Einfalt viðmót forrita
– Notendur forrita eru ekki alltaf fólk
Nota stigveldi (hierarchy)
Linux stýrikerfið byggt í lögum :
Notendaforrit -ritvinnsla, vafrari, leikir, …
Skel - ls, cd, mkdir, gcc, …
Kjarni - opna skrár, hefja verk, …
Vélbúnaður
stigveldi (abstraction layers)
Tölvunarfræðin notar oft stigveldi (abstraction layers) til að auðvelda lausn flókinna verkefna
Skipulag kjarna
Skráarkerfi
Ferlavinnsla (process management)
Minnisstýring (memory management)
Skráarkerfi
Sér um að búa til skrár, opna skrár, loka skrám
Ferlavinnsla (process management)
Ferlar eru keyrslueiningar
Úthlutar ferlum aðgangi að örgjörva
Samskipti milli ferla
Minnisstýring (memory management)
Deilir minni tölvunnar upp á milli ferla
Skel (shell)
Viðmót notandans að stýrikerfinu
– Leyfir notanda að keyra forrit
– Vinna með skrár
Skel er forrit
– Hefur keyrslu þegar notandi skráir sig inn
Skráarkerfi (file system)
Skilgreint sem stigveldi (hierarchy)
Rótin er
/
– Aðeins ein rót