Questão de Programação — Frameworks em Programação — Avança SP 2024
Programação›Frameworks 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?
ABiblioteca de Classes Base (BCL)
BWindows Presentation Foundation (WPF)
CActive Server Pages .NET (ASP.NET)
DWindows Forms
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.
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.