Conforme Coulouris (COULOURIS, G. - Sistemas distribuídos – Conceitos e projeto 4ª edição), atualmente, um processo consiste em um ambiente de execução, com uma ou mais threads. Uma thread é uma abstração do sistema operacional de uma atividade. O ambiente de execução é uma unidade de gerenciamento de recursos: um conjunto de recursos locais gerenciados pelo núcleo, aos quais suas threads têm acesso. Conforme essa afirmação, um ambiente em execução consiste principalmente em:
I. Um espaço de endereçamento.
II. Recursos de sincronização e comunicação entre threads, como semáforos e interfaces de comunicação (soquetes).
III. Recursos de nível mais alto, como arquivos e janelas abertas.
IV. Núcleo e proteção.
Dentre as proposições apresentadas acima, quais podem ser consideradas corretas?