Læringsutbytter+for+Linux-prosesser

Læringsutbytter for Linux-prosesser:
1. Vise fram prosessene som kjører på en Linux-maskin 2. Vise hvordan en kan ta livet av en bestemt prosess med kill-kommandoen 3. Vise fram prosesser som inneholder tråd-prosesser 4. Starte en prosess fra kommandogrensesnittet 5. Liste opp de fire vanligste systemkallene som brukes når prosesser skapes og avsluttes 6. Demonstrere foreldre-barn-relasjoner mellom prosesser 7. Hente fram nødvendig info om systemkall fra man-sidene 8. Lage et c-program som fungerer som en foreldreprosess til en barneprosess der denne barneprosessen henten inn en annen selvlaget c-program og kjører dette 9. Lage et c-program som fungerer som en foreldreprosess og som lager en barneprosess som kjører en standard Linux-kommando, f.eks ls, date, cal eller lignende. 10. Vise hvordan ps-kommandoen kan vise forskjellig info om prosessene 11. Liste opp prosesser ut fra gitt kriterier, f.eks navn, eier eller cirka når de ble startet 12. Identifisere zombie-prosesser 13. Demonstrere hvordan en prosess kan gjøres foreldreløs, og deretter vise at dette skjedde 14. Liste opp minst tre kommandoer du kan bruke for å se på status til prosessene 15. I et c-program skrive ut begge returverdiene fra fork og både foreldre- og barneprosess skriver ut egen prosess-ID
 * Kunnskap:**

1. Forklare og demonstrere hvordan Linux-kommandoer kjøres som barneprosesser under bash 2. Vise fram og forklare hvorfor flere trådprosesser kan ha samme prosess-ID 3. Vise fram og forklare enkle c-programmer der fork og exec benyttes 4. Vise og forklare hvordan egne c-programmer kan brukes til omdirigering av data og i "piping"-sekvenser 5. Forklare hvordan fork-systemkallet virker 6. Lage c-program som demonstrerer hvilke returverdier fork-systemkallet gir, og hvorfor det er snakk om to retur-verdier 7. Vise og forklare hvordan en prosess kan kjøre annen programkode enn den den opprinnelig hadde 8. Demonstrere hvordan kommandolinje-argumenter kan overføres til et c-program 9. Lage enkle c-programmer som demonstrerer prosesser som kommuniserer via pipes 10. Forklare hvordan pipe-systemkallet virker og hvordan standard input og standard output til prosesser kan omdirigeres til en pipe 11. Forklare hvordan en foreldreprosess kan lage en barneprosess med fork, men uten å bruke exec-systemkallet 12. Forklare hvordan en foreldreprosess kan lage en barneprosess med fork og deretter ved å bruke exec-systemkallet 13. Forklare hvorfor foreldre- og barneprosess har identisk programkode rett etter fork-systemkallet og hvorfor barneprosessen ikke starter fra første instruksjon 14. Forklare hva som er hensikten med exec-systemkallet 15. Forklare koblingen mellom systemkallene wait og exit 16. Forklare hvorfor vi må bruke systemkall når nye prosesser lages 17. Forklare hvor ps-kommandoen henter informasjonen sin fra 18. Forklare viktigheten av at pipe-systemkallet kommer før fork-systemkallet når prosesser skal kommunisere via en pipe. 19. Foreldreprosess skriver ut returverdiene fra fork og deretter skriver både foreldre og barn ut sine egne prosess-ID-er. To av disse fire verdiene er like. Forklar hvorfor.
 * Forståelse:**

1. Identifisere prosesser som bruker unødig mye cpu-tid og deretter stoppe slike prosesser 2. Lage en prosess som blir foreldreløs og deretter demonstrere at den ble foreldreløs og forklare det du har gjort 3. Lage en zombie-prosess, vise at den eksisterer og deretter forklare hvorfor dette er en zombie-prosess 4. Lage et c-program som kan gjøre den samme jobben som bash gjør når den oppretter nye prosesser etter å ha lest en kommandolinje 5. Lage et c-program som kan gjøre den samme jobbem som bash gjør når den sette opp en piping mellom to prosesser
 * Anvendelse:**