Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — Avança SP 2024

ProgramaçãoFrameworks em Programação
Código
qg088600
Banca
Avança SP
Órgão
Prefeitura de Lorena - SP
Ano
2024
Nível
Médio
Cargo
Técnico em Informática
Qual componente do Framework .NET é responsável por gerenciar a execução de programas e oferece serviços como gerenciamento de memória, tratamento de exceções e segurança?
  1. ABiblioteca de Classes Base (BCL)
  2. BWindows Presentation Foundation (WPF)
  3. CActive Server Pages .NET (ASP.NET)
  4. DWindows Forms
  5. ECommon Language Runtime (CLR)
Revelar gabarito e comentário

GabaritoE — Common Language Runtime (CLR)

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Componentes do Framework .NET

Gabarito: letra E. O componente responsável por gerenciar a execução de programas no .NET, oferecendo serviços como gerenciamento de memória, tratamento de exceções e segurança, é o Common Language Runtime (CLR). As demais alternativas são bibliotecas ou tecnologias que rodam sobre o CLR, mas não executam essa função de infraestrutura.

O .NET é um ecossistema composto por várias camadas que trabalham juntas para permitir o desenvolvimento e a execução de aplicações. Para entender a questão, é essencial distinguir o papel de cada componente:

  • CLR (Common Language Runtime): é o coração do .NET, a máquina virtual que executa o código gerenciado. Ele é responsável por compilar o código IL (Intermediate Language) em código de máquina, gerenciar a memória (coleta de lixo), tratar exceções, garantir a segurança de acesso ao código e fornecer serviços de threading e reflexão. Em outras palavras, é o ambiente de execução que dá vida aos programas .NET.

  • BCL (Base Class Library): é um conjunto de bibliotecas de classes que fornecem funcionalidades prontas para os desenvolvedores, como manipulação de strings, coleções, entrada/saída, acesso a dados, etc. A BCL é a biblioteca padrão do .NET, mas não gerencia a execução; ela é usada pelo código que roda no CLR.

  • WPF, Windows Forms e ASP.NET: são tecnologias de interface ou de desenvolvimento web que utilizam o CLR e a BCL para construir aplicações. WPF e Windows Forms são frameworks para criar interfaces gráficas de desktop; ASP.NET é um framework para criar aplicações web. Nenhum deles gerencia a execução de programas.

A pegadinha da questão está em confundir a biblioteca de classes (BCL) com o ambiente de execução (CLR). A BCL oferece os blocos de construção, mas é o CLR que fornece os serviços de infraestrutura mencionados no enunciado. Para fixar:

Critério

CLR

BCL

Função

Executa o código gerenciado

Fornece classes e funcionalidades prontas

Serviços

Memória, exceções, segurança, threading

Coleções, IO, strings, dados

Analogia

O motor do carro

As peças e acessórios

Guarde essa distinção: quando a questão falar em gerenciar a execução, memória, exceções e segurança, a resposta é sempre o CLR. Quando falar em bibliotecas de classes, funcionalidades prontas, a resposta é a BCL.

1CLR (ambiente de execução)
Gerenciamento de memória
Tratamento de exceções
Segurança
2BCL (biblioteca de classes)
Coleções, IO, strings
3Frameworks de interface
WPF (desktop)
Windows Forms (desktop)
ASP.NET (web)
Componentes do .NET
LEVELsoulevel.com.br
Componentes do .NET: CLR (ambiente de execução) (Gerenciamento de memória, Tratamento de exceções, Segurança); BCL (biblioteca de classes) (Coleções, IO, strings); Frameworks de interface (WPF (desktop), Windows Forms (desktop), ASP.NET (web))

Alternativa A — ❌ Incorreta

A BCL (Base Class Library) é a biblioteca de classes base do .NET, que fornece tipos e funcionalidades reutilizáveis para os desenvolvedores, como coleções, manipulação de arquivos, expressões regulares, etc. Ela não gerencia a execução de programas; ela é apenas um conjunto de bibliotecas que o código utiliza. O gerenciamento de memória, tratamento de exceções e segurança são responsabilidades do CLR, não da BCL.

Alternativa B — ❌ Incorreta

O WPF (Windows Presentation Foundation) é um framework da Microsoft para criar interfaces gráficas ricas em aplicações desktop Windows. Ele é uma camada de apresentação que roda sobre o CLR, mas não é responsável por gerenciar a execução de programas. Sua função é fornecer controles e recursos para construir a interface do usuário, não serviços de infraestrutura como memória e segurança.

Alternativa C — ❌ Incorreta

O ASP.NET é um framework para desenvolvimento de aplicações web, que permite criar sites, APIs e aplicações dinâmicas. Ele é uma tecnologia que utiliza o CLR e a BCL, mas não gerencia a execução de programas. O ASP.NET fornece ferramentas para lidar com requisições HTTP, páginas web, etc., mas o gerenciamento de memória e exceções é feito pelo CLR subjacente.

Alternativa D — ❌ Incorreta

O Windows Forms é um framework para criar aplicações desktop com interface gráfica no Windows. Assim como o WPF, ele é uma camada de apresentação que roda sobre o CLR, mas não é responsável por gerenciar a execução de programas. Sua função é fornecer controles e eventos para construir a interface, não serviços de infraestrutura.

Alternativa E — ✅ Correta ⟵ GABARITO

O CLR (Common Language Runtime) é o componente do .NET responsável por gerenciar a execução de programas. Ele oferece exatamente os serviços citados no enunciado: gerenciamento de memória (coleta de lixo), tratamento de exceções e segurança (verificação de tipos e permissões). O CLR é a máquina virtual que executa o código gerenciado, compilando o IL em código nativo e fornecendo o ambiente de execução para todas as aplicações .NET.

NÃO CAIA NESSA!

A banca tenta confundir o candidato entre a BCL (biblioteca de classes) e o CLR (ambiente de execução). A BCL é o que o programador usa para escrever o código; o CLR é o que executa esse código. Quando o enunciado menciona "gerenciar a execução", "memória", "exceções" e "segurança", a resposta é sempre o CLR. Lembre-se: BCL é o que você usa, CLR é o que roda.

Gabarito: letra E

Link permanente: /questoes/qg088600