# Propriedades de um processo

O sistema operacional enxerga tudo como uma unidade de concorrência. Ou seja, o teu programa, que está encapsulado em um processo, é uma unidade de concorrência. Vamos relembrar as propriedades básicas de um processo UNIX-like:

* processos têm estado privado e não compartilham memória
* processos se comunicam uns com os outros por envio de mensagens - IPC, ou Inter-Process Communication -, que podem ser pipes, arquivos, FIFO, sockets etc (veja [este meu artigo sobre UNIX pipes](https://dev.to/leandronsp/series/18468) para entender mais sobre IPC)
* processos têm um identificador único no sistema (PID)

<figure><img src="/files/7gzqwHoqGjQT8OcFvv67" alt="" width="375"><figcaption></figcaption></figure>

***

Há situações em que nosso programa precisa escalar para atender uma determinada demanda, como por exemplo requisições que chegam no sistema.

Se pararmos pra refletir um pouco, uma forma de escalar seria aumentar o "número de programas" do nosso sistema, correto? Essa técnica baseia-se em replicar o mesmo processo N vezes, como se fossem *clones*.

Pois é, o sistema operacional fornece uma syscall chamada **clone**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://concorrencia101.leandronsp.com/parte-i-concorrencia-no-sistema-operacional/propriedades-de-um-processo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
