LWP (Light Weight Process) og
Tråder er begge mekanismer som brukes for å oppnå samtidighet eller parallellitet i et program, men de er forskjellige i deres implementering og egenskaper:
LWP (Light Weight Process):
- En LWP er en virtuell utførelsesenhet som kjører innenfor konteksten av en enkelt tradisjonell OS-prosess.
- LWP-er administreres utelukkende av brukerromsbiblioteket, uten involvering fra operativsystemets kjerne.
- LWP-er deler samme minneplass og systemressurser som den overordnede prosessen.
- Overhead for å lage en LWP er relativt lavere enn tråder.
- LWP-er er mindre bærbare på tvers av forskjellige operativsystemer, da de vanligvis implementeres ved bruk av spesifikke brukerromsbiblioteker.
- LWP-er ble ofte brukt i systemer som Sun Solaris, men har blitt mindre utbredt i moderne operativsystemer.
Tråder:
- En tråd er en lett, selvstendig enhet for utførelse i en prosess.
- Tråder administreres og planlegges av operativsystemkjernen, noe som gir dem mer direkte tilgang til systemressurser.
- Tråder innenfor samme prosess deler minne, men de har separate stabler.
- Å lage og ødelegge tråder innebærer mer overhead sammenlignet med LWP-er på grunn av kjerneinvolvering.
- Tråder er mer bærbare på tvers av forskjellige operativsystemer ettersom de er standardisert av POSIX og andre APIer.
- Tråder har blitt den utbredte mekanismen for samtidighet og parallellitet i moderne operativsystemer.
Sammendrag:
- LWP-er administreres av brukerrom, mens tråder administreres av operativsystemkjernen.
- LWP-er deler alle ressursene i den overordnede prosessen, mens tråder deler minne, men har separate stabler.
- LWP-er har lavere overhead for opprettelse og ødeleggelse sammenlignet med tråder.
- Tråder er mer bærbare og standardiserte på tvers av operativsystemer.
- Tråder er den mest brukte mekanismen for samtidighet og parallellitet i moderne operativsystemer.