Quali sono i componenti di un processo? [chiuso]

0

Che cos'è esattamente un processo e di che cosa è composto un processo? Ho letto la pagina di Wikipedia e ho trovato solo dettagli astratti laggiù.

Voglio sapere quali dettagli sono memorizzati da un processo - per esempio, un identificatore di processo, un contatore di programmi, ecc. Quali sono le altre cose che fanno parte di un processo? Inoltre, come è organizzata la memoria di processo? Ad esempio, tutte le componenti di un processo sono presenti in memoria in modo contiguo?

    
posta xennygrimmato 26.04.2015 - 11:46
fonte

1 risposta

3

Un processo è un insieme coerente di istruzioni che un sistema operativo è attualmente in esecuzione. Tutto il resto praticamente segue da quello.

Ad esempio, un processo risiede in memoria e ognuno ha il suo stato. Se il tuo computer esegue contemporaneamente quattro istanze di Bash (non una situazione insolita), sono tutti gli stessi programmi , ma quattro diversi processi . Ognuno ha il proprio contatore di programma, la propria voce nella tabella dei processi del sistema operativo e può essere programmato o non pianificato indipendentemente l'uno dall'altro. Possono o non possono condividere gli stessi segmenti di memoria per contenere parti dei loro opcode, che dipendono da cose come il collegamento statico / dinamico.

Cos'altro fa parte di un processo? Ad esempio, memoria allocata dinamicamente. I programmi che allocano la memoria ottengono quella memoria assegnata loro in modo specifico, in un segmento di dati dedicato. Di nuovo, i tuoi quattro processi Bash non condivideranno quella memoria, a meno che non eseguano un protocollo coordinato per condividerne esplicitamente alcuni. Poi ci sono le informazioni contabili che il sistema operativo mantiene su un processo: il suo numero, la sua priorità, il suo id utente proprietario, la quantità di cicli che ha già usato, ecc.

Gestire i processi in modo ragionevolmente efficiente è in effetti piuttosto complicato, e un grosso motivo per cui scrivere un O.S. non è un compito banale. Ma alla fine, i processi sono solo esempi di programmi, cioè flussi opcode, e tutto il resto è solo contabilità per mantenere quegli stream che fluiscono in modo efficiente. (Chiedi di nuovo se hai domande più specifiche o ostacoli alla comprensione.)

    
risposta data 26.04.2015 - 12:35
fonte

Leggi altre domande sui tag