Os sistemas operacionais (OS) lidam com uma vasta gama de tarefas relacionadas ao gerenciamento de recursos de hardware e software. No entanto, existem várias coisas que eles normalmente * não * lidam diretamente:
*
Lógica de aplicativo específica: O sistema operacional fornece o ambiente para a execução dos aplicativos, mas não contém o código que executa as tarefas específicas desses aplicativos (por exemplo, processamento de texto, edição de imagens, navegação na web). Essa é a responsabilidade dos próprios aplicativos individuais.
*
Dados de aplicativos de alto nível: O SO gerencia armazenamento e acesso a arquivos, mas não entende inerentemente o significado ou a estrutura dos dados nos arquivos criados pelos aplicativos. O arquivo .docx de um processador de texto é apenas uma coleção de bytes para o sistema operacional; O próprio aplicativo interpreta esses dados.
*
Design da interface do usuário (além do gerenciamento básico da janela): Enquanto o sistema operacional fornece um sistema de janela e elementos básicos da interface do usuário, a aparência e a sensação específicos e os meandros da interface do usuário dos aplicativos são tratados pelos próprios aplicativos.
*
Drivers de hardware especializados (às vezes): Enquanto o OS gerencia os drivers de dispositivos, alguns hardware muito especializado ou de baixo nível podem exigir drivers escritos e mantidos separadamente, fora dos componentes principais do sistema operacional. Isso é menos comum agora do que no passado.
*
Implementação de protocolo de rede (no nível mais baixo): Enquanto a OS gerencia a conectividade da rede, a implementação real de protocolos de rede (como o TCP/IP) geralmente depende de bibliotecas e componentes que podem ser fornecidos por desenvolvedores de terceiros ou fazem parte de uma pilha de rede mais ampla que interage com o sistema operacional.
*
Políticas específicas de segurança do usuário além do controle básico de acesso: O sistema operacional fornece mecanismos básicos de controle de acesso (como permissões), mas políticas de segurança muito granulares ou altamente especializadas (como prevenção de perda de dados ou sofisticada detecção de intrusões) geralmente são tratadas por software de segurança separado em execução * no topo * do sistema operacional.
*
Criptografia/descriptografia de dados (em repouso e em trânsito, geralmente): Embora um sistema operacional possa oferecer serviços de criptografia, a criptografia e descriptografia sofisticada de arquivos de dados específicos ou fluxos de comunicação geralmente são gerenciados por software de criptografia dedicado ou bibliotecas.
*
Funcionalidade antivírus/anti-malware: Esta é uma medida de segurança que é executada ao lado do sistema operacional, não como parte integrante dele.
Em suma, o sistema operacional fornece a base, as ferramentas e o meio ambiente. A funcionalidade de aplicativo específica e muitas tarefas avançadas são deixadas para os aplicativos e software especializado que executam * dentro * desse ambiente.