Um critério para classificar um sistema de banco de dados é de acordo com o número de usuários que podem usar o sistema simultaneamente. Um SGBD é monousuário se somente um usuário de cada vez pode utilizar o sistema, e é multiusuário se muitos usuários puderem fazê-lo — e, portanto, acessar o banco de dados — simultaneamente.
Multiusuários podem acessar os bancos de dados e usar sistemas de computação simultaneamente devido ao conceito da multiprogramação, que permite que o sistema operacional do computador execute vários programas (ou processos) ao mesmo tempo.
Uma única unidade central de processamento (CPU) pode executar apenas, e no máximo, um processo de cada vez. Porém, sistemas operacionais de multiprogramação executam alguns comandos de um processo, depois suspendem esse processo e executam alguns comandos do processo seguinte, e assim por diante. Um processo é retomado no ponto em que foi suspenso sempre que chega sua vez de usar a CPU novamente. Assim, a execução simultânea dos processos é, na realidade, intercalada, também denominada de serializada. Veja um exemplo.
A intercalação mantém a CPU ocupada quando um processo exige uma operação de entrada ou saída, como a leitura de um bloco do disco. A CPU troca e realiza outro processo, em vez de permanecer ociosa durante o tempo de leitura de dados. A intercalação também impede que um processo longo atrase os demais processos. Veja como.
Para o restante deste módulo, assumiremos esse modelo.
Um exemplo disso é quando você clica no ícone de dois programas para serem carregados no computador. A CPU não carrega um programa completamente para depois carregar o segundo, ela fragmenta os pedidos e faz com que ambas vão sendo carregadas ao mesmo tempo.
XSe o sistema de computação tiver múltiplos processadores de hardware (CPUs), o processamento paralelo de vários processos é possível. A maior parte da teoria referente ao controle de concorrência nos bancos de dados é desenvolvida em relação à concorrência intercalada.
X