.NET Framework Question
1.
What is .NET Framework?
.NET Framework is a complete environment that allows developers to develop, run, and deploy the following applications:
· Console applications
· Windows Forms applications
· Windows Presentation Foundation (WPF)
applications
· Web applications (ASP.NET
applications)
· Web services
· Windows services
· Service-oriented applications using
Windows Communication Foundation (WCF)
· Workflow-enabled applications using
Windows Workflow Foundation (WF)
.NET Framework also enables a developer to create sharable components to
be used in distributed computing architecture. NET Framework supports the
object-oriented programming model for multiple languages, such as Visual Basic,
Visual C#, and Visual C++. .NET Framework supports multiple programming
languages in a manner that allows language interoperability. This implies that
each language can use the code written in some other language.
2.
What are the main components of .NET
Framework?
.NET Framework provides enormous
advantages to software developers in comparison to the advantages provided by
other platforms. Microsoft has united various modern as well as existing
technologies of software development in .NET Framework. These technologies are
used by developers to develop highly efficient applications for modern as well
as future business needs. The following are the key components of .NET
Framework:
· .NET Framework Class Library
· Common Language Runtime
· Dynamic Language Runtimes (DLR
· Application Domains
· Runtime Host
· Common Type System
· Metadata and Self-Describing
Components
· Cross-Language Interoperability
· .NET Framework Security
· Profiling
· Side-by-Side Execution
3.
What is Microsoft Intermediate
Language (MSIL)?
The .NET Framework is shipped with compilers of all .NET programming
languages to develop programs. There are separate compilers for the Visual
Basic, C#, and Visual C++ programming languages in .NET Framework. Each .NET
compiler produces an intermediate code after compiling the source code. The
intermediate code is common for all languages and is understandable only to
.NET environment. This intermediate code is known as MSIL.
4.
What is an IL?
Intermediate Language is also known as MSIL (Microsoft Intermediate
Language) or CIL (Common Intermediate Language). All .NET source code is
compiled to IL. IL is then converted to machine code at the point where the
software is installed, or at run-time by a Just-In-Time (JIT) compiler.
5.
Describe the roles of CLR in .NET
Framework?.
CLR provides an environment to
execute .NET applications on target machines. CLR is also a common runtime
environment for all .NET code irrespective of their programming language, as
the compilers of respective language in .NET Framework convert every source
code into a common language known as MSIL or IL (Intermediate Language). CLR
also provides various services to execute processes, such as memory management
service and security services. CLR performs various tasks to manage the
execution process of .NET applications. The responsibilities of CLR are listed
as follows:
· Automatic memory management
· Garbage Collection
· Code Access Security
· Code verification
· JIT compilation of .NET code
6. Differentiate between managed and unmanaged
code? Managed code
is the code that is executed directly by the CLR instead of the operating
system. The code compiler first compiles the managed code to intermediate
language (IL) code, also called as MSIL code. This code doesn't depend on
machine configurations and can be executed on different machines. Unmanaged
code is the code that is executed directly by the operating system outside the
CLR environment. It is directly compiled to native machine code which depends
on the machine configuration. In the managed code, since the execution of the
code is governed by CLR, the runtime provides different services, such as
garbage collection, type checking, exception handling, and security support.
These services help provide uniformity in platform and language-independent
behavior of managed code applications. In the unmanaged code, the allocation of
memory, type safety, and security is required to be taken care of by the
developer. If the unmanaged code is not properly handled, it may result in
memory leak. Examples of unmanaged code are ActiveX components and Win32 APIs
that execute beyond the scope of native CLR.
7. Mention the execution process for
managed code?
A piece of managed code is executed as follows: Choosing a language compiler
· Compiling the code to MSIL
· Compiling MSIL to native code
· Executing the code.
8. What is the role of the JIT
compiler in .NET Framework?
The JIT compiler is an important element of CLR, which loads MSIL on
target machines for execution. The MSIL is stored in .NET assemblies after the
developer has compiled the code written in any .NET-compliant programming
language, such as Visual Basic and C#. JIT compiler translates the MSIL code of
an assembly and uses the CPU architecture of the target machine to execute a
.NET application. It also stores the resulting native code so that it is
accessible for subsequent calls. If a code executing on a target machine calls
a non-native method, the JIT compiler converts the MSIL of that method into
native code. JIT compiler also enforces type-safety in runtime environment of
.NET Framework. It checks for the values that are passed to parameters of any
method. For example, the JIT compiler detects any event, if a user tries to
assign a 32-bit value to a parameter that can only accept 8-bit value
Comments
Post a Comment