• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/10

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

10 Cards in this Set

  • Front
  • Back

Hva består en process image av?

Process image: Det er en samling av program, data, stack og attributter som er definert i en control block

Hvem har resource ownership?

En prosess inkluderer en virtuell address space til å holde en process image. Til en hver tid vil en prosess få tildelt kontroll/eierskap av en eller flere ressurser. Samtidig som den har eierskap, vil OS beskytte prosessen ved forhindring av uønskede tilgang på de ressursene.

Hva er en multithreading?

Hvis en OS støtter til multithreading, vil de si at den klarer å kjøre flere/ multiple og samtidige paths(trace) av execution innen en prosess. Hver av trace-ene er en thread.

På hvilken måter kan threads og prosess fungere?

1) One process med one thread


2) Multiple process med one thread per process


3) One process med multiple thread


4) Multiple process med multiple threads per process

Hvordan er single threaded prosess model satt sammen?

- Process control block


- User address space


- User stack


- Kernel stack

Hvordan er multiple threaded process model satt sammen?

- Prosess control block


- User address space


- Du har da multiple threads


- Hver thread har fått utdelt thread control stack , user stack, kernel stack




Felles for disse threads er at de deler på den samme dataene av ressursen fordi alle tilhører i den samme prosessen. En endring pga en thread vil også vises for de andre threads. Når en thread åpner en fil for å lese, kan andre threads i den samme prosessen lese den samme filen

Fortell om threads funksjonaliteter

Thread funksjonaliteter:


1. Thread states


En thread kan være i Ready state, Running state eller Blocked state.




Vi har 4 forskjellige thread operasjoner:


1. Spawn: Når en prosess opprettes/lager, vil også de tilhørende threads bli opprettet. De bli satt i Ready state i en queue.


2. Block: Når en thread venter på en event, vil den bli satt i Blocked state slik at en annen prosess/ thread kan bli gjennomført i mellomtiden.


3. Unblock: Når den tilhørende eventen til thread (blocked state) ankommer, vil den skiftes til Ready state.


4. Finish: Når en thread fullføres, er det viktig å frigjøre lagringsplassene den okkuperte som i register og stack.




2. Thread synchronization


Alle threads som består av den samme spesifikke prosessen deler på den samme dataene av ressursene. Når en endring blir gjort av en thread må det oppdateres hos alle thread. Disse endringene skal ikke forstyrres eller korruptere dataene for andre threads.







Hva er fordelen med Threads?

1. Raskere context switching time


2. Kjøre flere threads innen en prosess


3. Effektivt kommunikasjon


4. Det er mer økonomisk to create and context switch threads


5. Threads lar utnyttelsen av multiprocessor arkitektur til å bli bedre på skalering og effektivitet



Det er 2 måter å implementere threads. En av dem er User Level Thread. Fortell litt om det, fordeler og ulemper.

User Level Threads


Alle arbeid av ULT blir gjort av applikasjonen og kernel vet ikke om eksistens av threads. Det er threads library som består av koder for creating end destroying of threads, for scheduling thread execution and for saving and restoring thread contexts. Applikasjonen starter med en thread.




Fordeler:


- Thread switching krever ikke en kernal mode priviliges.


- ULT kan kjøres på hvilken som helst operativ system


- ULT er raske å lage og administrere


- Scheduling algorithm kan være innen applikasjonen uten at det skal forstyrre OS scheduler




Ulemper:


- En system call fra en thread, kan blokkere andre threads/ hele prosessen.


- ULT som tar for seg multithreading, kan ikke støtte til multiprocessing.





Det er 2 måter å implementere threads. En av dem er Kernel Level Thread. Fortell litt om det, fordeler og ulemper.

Kernel Level Threads