Samtidig i UNIX refererer til operativsystemets evne til å
administrere flere oppgaver (prosesser eller tråder)
som ser ut til å kjøre samtidig , selv om de kanskje deler den samme CPU -en. Dette oppnås gjennom en kombinasjon av mekanismer:
1. Prosesser:
- Hver prosess har sitt eget adresseplass, data og ressurser.
- De er uavhengige enheter og kommuniserer gjennom mekanismer som rør, stikkontakter og delt minne.
- UNIX -kjernen veksler mellom prosesser raskt, noe som gir illusjonen av parallell utførelse.
2. Tråder:
- Tråder er lette prosesser som har samme adresseplass og ressurser.
- De tilbyr en mer effektiv måte å implementere samtidighet på enn prosesser, ettersom de har mindre overhead.
- Tråder kan opprettes og administreres ved hjelp av biblioteker som POSIX -tråder (Pthreads).
Nøkkelkonsepter:
- Tidsskiver: CPU tildeler en liten bit av tid til hver prosess eller tråd, og bytter raskt mellom dem.
- Multiplexing: Kjernen administrerer flere oppgaver ved å blande utførelsen, og gir inntrykk av parallell utførelse.
- Synkronisering: Mekanismer som mutexes, semaforer og tilstandsvariabler brukes til å koordinere tilgang til delte ressurser mellom samtidige oppgaver.
- Inter-Process Communication (IPC): Metoder som rør, stikkontakter og delt minne lar prosesser utveksle data og synkronisere driften.
Fordeler med samtidighet i UNIX:
- Forbedret respons: Brukere kan samhandle med systemet mens andre oppgaver kjører.
- økt gjennomstrømning: Flere oppgaver kan utføres samtidig, og forbedre den generelle systemytelsen.
- Ressursdeling: Flere oppgaver kan dele de samme ressursene, redusere minnet overhead og forbedre effektiviteten.
eksempler på samtidighet i UNIX:
- bakgrunnsprosesser: Oppgaver som utskrift eller nedlasting av filer kan kjøres i bakgrunnen mens brukeren samhandler med andre applikasjoner.
- webservere: Flere klientforespørsler kan håndteres samtidig med en enkelt webserverprosess.
- Databasesystemer: Samtidig transaksjoner sikrer at dataintegritet opprettholdes mens flere brukere får tilgang til databasen.
Merk: Mens samtidighet i UNIX gir illusjonen av parallell utførelse, krever ekte parallellisme flere CPU -er.