Casa > D > Do Ponto De Vista Do So, Qual É A Diferença Entre Abrir Uma Página Web Em Uma Nova Aba E Uma Nova Janela Do Navegador?

Do ponto de vista do SO, qual é a diferença entre abrir uma página web em uma nova aba e uma nova janela do navegador?

Em ambos os casos, o SO pode receber pedidos para mais memória. O gerenciador de janelas receberá chamadas para criar o novo widget visual (janela ou aba) que pode resultar em mais pedidos de memória e comunicações entre processos. Mas isso'é apenas a parte visual.

Por outro lado, o próprio navegador pode alocar um novo processo para a nova aba ou janela. Por exemplo, o Chrome é bem conhecido por fazer isso para manter os erros isolados. Portanto, se uma aba trava o resto do navegador ainda funciona. Eles ainda terão memória compartilhada (que é tratada pelo sistema operacional), enviarão mensagens uns aos outros (tratadas pelo sistema operacional) e podem usar algum tipo de artefatos de concorrência como monitores ou semáforos (tratados também pelo sistema operacional).

Então, a questão é mais como "como meu navegador lida com novas abas ou janelas". Para o Chrome é claro: novo processo com alguma memória compartilhada entre eles. Não importa se o novo separador ou janela. É quase o mesmo.
Para o Firefox eu sei que eles'é mais provável que criem uma nova thread em seu lugar. Mas, eles usam processos separados para rodar plugins como flash para isolar possíveis falhas.

As threads são tratadas pelo sistema operacional. Eles tendem a usar menos recursos mas a própria aplicação pode criar muita memória dentro de cada thread para que a diferença possa ser reduzida. Além disso, se uma thread falhar, todo o processo pode falhar (que é uma chamada ao SO). Versões mais antigas do Linux não lidam com threads a nível de SO. Elas foram implementadas desovando um novo processo. Mas isso's history.

De Zwart

Por que a palavra Microsoft não tem abas para documentos diferentes, em vez de novas janelas? :: Do ponto de vista da segurança, existe alguma diferença entre abrir uma nova janela versus um novo separador no navegador Google Chrome?